.a 文件 和 so 文件

Posted simplepaul

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.a 文件 和 so 文件相关的知识,希望对你有一定的参考价值。

       所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。.so文件是共享库文件(动态链接)。动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息),仅当应用程序被装入内存开始运行时,在操作系统的管理下,才在应用程序与相应的.so之间建立链接关系。
 
.a文件是多个.o文件的组合。.o文件就是对象文件,里面包含的内容就是01这样的机器可执行的指令,当程序要执行时还需要进行链接(link).链接就是把多个.o文件链成一个可执行文件。

以上是关于.a 文件 和 so 文件的主要内容,如果未能解决你的问题,请参考以下文章

什么是 .a 和 .so 文件?

.a 文件 和 so 文件

linux 中的.so和.a文件

linux .o,.a,.so文件区别是什么

动态加载so文件

请问我有一个.so文件,如何在Linux下编程使用呢?