首页 > 技术 > Linux

linux中.a是什么文件

Linux 2022-11-19 13:19:04  

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

程序员必备接口测试调试工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
后端、前端、测试,同时在线协作,内容实时同步

教程操作环境: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是什么文件的详细内容,更多请关注其它相关文章!

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:https://chcsas.com/ywkf/4954.html

加载中~

热门文章

最近发表

标签列表

木星教程网

统计代码 | 湘ICP备19012813号-5

本网站LOGO受版权及商标保护,版权登记号:国作登字-2022-F-10126915,未经湖南木星科技官方许可,严禁使用。
Copyright © 2012-2022 湖南木星科技有限公司(木星网)版权所有
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源,商业媒体及纸媒请先联系:aishangyiwan@126.com

扫描微信二维码

关注我们可获取更多热点资讯