C++学习(三八三).o .a .so .la .lo的区别
Posted hankern
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习(三八三).o .a .so .la .lo的区别相关的知识,希望对你有一定的参考价值。
o: 编译的目标文件
gcc -c test.c
a: 静态库,其实就是把若干o文件打了个包
ar -r libtest.a test1.o test2.o
so: 动态链接库(共享库)
gcc -Wall -fpic -shared -Ltest test3.c -o libtest.so
lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
$libtool --mode=compile gcc -c libmylib.lo
la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
$libtool --mode=link gcc -o libmylib.la -rpath /usr/lib –L/usr/lib –la,会根据相应的规则生成相应的共享库和静态库。
以上是关于C++学习(三八三).o .a .so .la .lo的区别的主要内容,如果未能解决你的问题,请参考以下文章