.a文件.o文件和.so文件有什么区别?

如题所述

o: 编译的目标文件 a: 静态库,其实就是把若干o文件打了个包 so: 动态链接库(共享库)  lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息  la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息。

我们通常把一些公用函数制作成函数库,供其它程序使用,函数库分为静态库和动态库两种,静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-09

.o 就相当于windows里的obj文件 

.a 是好多个.o合在一起,用于静态连接 

.so 是shared object,用于动态连接的,和dll差不多

参考资料

清风手游网.清风手游网[引用时间2018-1-9]

相似回答