Linux的静态库的扩展名为:*.a
- 静态库(
*.a1):随着编译写进到
*.out`文件中(是连接后的文件,而非obj文件),删除静态库后,“.out”文件还可以成功执行。- 动态库(
*.so,*.dll
):会随着编译连接到.out
文件中,没有了动态库文件,执行文件不能成功执行,利于更新。
创建静态库
- 将源文件生成obj文件
gcc –c source.c –o obj.o
- 静态库生成命令
ar rc lib*.a obj.o // 其中:lib*.a为要生成的静态库文件
调用静态库文件
在编译的时候在后面加上静态库的路径即可。
其他
查看与obj文件关联的静态库:ldd