linux 下的库文件分为两大类,分别是动态链接库(通常以.so结尾)和静态链接库(通常是以.a结尾),两者的差别仅在于程序执行时所需的代码是在运行时动态加载,还是在编译时静态加载。
默认情况下,gcc在链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接库。如果需要的话可以在编译时加上-static选项,强制使用静态链接库。