微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux中.a文件指的是什么

这篇文章主要介绍了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文件指的是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐