I think this not belong to this forum
*.a files are mostly static libraries
*.so files are mostly dynamic libraries
linking to static libraries includes the actual code for the library functions/procedures with the executable and
its size will be large when compared to an executable which uses dynamic libraries.