动态链接库和静态链接库的区别

来源:互联网 发布:mysql从入门到精通 编辑:程序博客网 时间:2024/05/22 07:08

            LINUX下的库文件分为两大类,分别是动态链接库(通常以.so结尾)和静态链接库(通常以.a结尾)。两者的区别仅在程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的。

        静态链接库在编译链接时,把库文件的代码全部加入到可执行文件中,所以生成的文件较大,但运行时,就不再需要库文件了。动态链接库正好相反,在编译链接时,没有把库文件的代码加入到可执行文件中,所以生成的文件较小,但运行时仍需要加载库文件。