这篇文章主要介绍了linux中.a文件指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux中.a文件指的是什么文章都会有所收获,下面我们一起来看看吧。
在linux中,“.a”文件是静态链接库文件;静态链接库文件是指要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分,动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是在其中加入了所调用函数的描述信息。
本教程操作环境:linux7.3系统、Dell G3电脑。
.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文件指的是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。