Linux里.a文件是什么啊

Linux里.a文件是什么啊,第1张

在linux环境下文件的类型是不依赖于其后缀名的,一般地:

.so

是共享库,相当于windows的.dll

.o

是编译的目标文件

.a

是静态库,只是把一堆.o文件打了个包

vi 打开一个不存在的文件a时,在没有输入保存命令时,a文件是不会存储到机器磁盘上的。\x0d\x0avi打开一个文件时,进入的是阅读模式,只有输入相关命令才会进入编辑模式:\x0d\x0ai :在当前位置插入\x0d\x0aa:在当前位置后追加\x0d\x0ao:在当前位置的后面插入一行\x0d\x0aI :在行头插入\x0d\x0aA:在行尾追加\x0d\x0aO:在当前位置的前面插入一行\x0d\x0a'ESC'键从编辑模式转换到阅读模式\x0d\x0a阅读模式(或叫命令模式)下:\x0d\x0a:w 保存文件\x0d\x0a:w filename 保存成filename文件\x0d\x0a:q 退出\x0d\x0a:q! 强行退出\x0d\x0a:w! 强行写\x0d\x0a:wq 保存退出\x0d\x0a:x 同wq

.a和.so文件都是函数库文件。库是一组预先编译好的函数的集合,库文件的名字以lib开头,随后的部分指明这是什么库(例如c代表C语言库,m代表数学库)。

.a代表的是静态函数库,当同时运行多个程序并且都使用到同一个函数库的函数时,内存中就会有同一函数的多份副本,会消耗大量宝贵的内存。

.so是共享函数库,可以克服.a函数库的不足。当一个程序使用共享函数库时,程序本身不再包含函数代码,而只是引用共享代码,当实际调用时,共享库才被加载到内存中。

.a文件类似于Windows下的.lib文件,.so文件类似于Windows下面的.dll文件,这样就好理解了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6246721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存