我是靠谱客的博主 愉快唇膏,这篇文章主要介绍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视频教程

以上就是linux中.a是什么文件的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是愉快唇膏最近收集整理的关于linux中.a是什么文件的全部内容,更多相关linux中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(197)

评论列表共有 0 条评论

立即
投稿
返回
顶部