linux中.a文件指的是什么

55次阅读
没有评论

共计 1014 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍了 linux 中.a 文件指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇 linux 中.a 文件指的是什么文章都会有所收获,下面我们一起来看看吧。

在 linux 中,“.a”文件是静态链接库文件;静态链接库文件是指要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分,动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是在其中加入了所调用函数的描述信息。

本教程操作环境:linux7.3 系统、Dell G3 电脑。

linux 中.a 是什么文件

.a 文件,是 LINUX 系统中的静态链接库文件。

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

.a 文件是多个.o 文件的组合。.o 文件就是对象文件,里面包含的内容就是 01 这样的机器可执行的指令,当程序要执行时还需要进行链接 (link). 链接就是把多个.o 文件链成一个可执行文件。

扩展知识

.o 就是 object, 也就相当于 windows 下编译的 obj 文件, 俗称目标文件.

.a 就是 archive, 也就相当于 windows 的 VC 下编译的 lib 文件, 俗称静态库文件.

.o 文件是链接文件,.a 是静态库文件,靠.o 文件生成,作为一个库为外部程序提供函数,接口。

生成.o 文件:

gcc -c test.o test.c

生成.a 文件:

ar cqs test.a test.o

.o 就相当于 windows 里的 obj 文件,一个.c 或.cpp 文件对应一个.o 文件

.a 是好多个.o 合在一起, 用于静态连接,即 STATIC mode,多个.a 可以链接生成一个 exe 的可执行文件

.so 是 shared object, 用于动态连接的, 和 windows 的 dll 差不多,使用时才载入

关于“linux 中.a 文件指的是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“linux 中.a 文件指的是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-29发表,共计1014字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)