似乎存档文件可以从目标文件生成:
ar rvs libprofile.a profile.o
Run Code Online (Sandbox Code Playgroud)
目标文件和存档文件之间有什么区别?
在我看来,两者都可以直接与gcc一起使用,例如:
gcc *.c profile.o 要么 gcc *.c libprofile.a
有什么不同?
小智 15
静态库是一个或多个目标文件的集合,具有允许快速搜索的索引.编译器处理它们的方式有一些细微的差别.使用对象文件,您可以这样链接:
gcc f1.o f2.o -o myexe
Run Code Online (Sandbox Code Playgroud)
有了库,你也可以这样做:
gcc f1.o libf2.a -o myexe
Run Code Online (Sandbox Code Playgroud)
或者您可以使用速记:
gcc d1.o -lf2 -L. -o myexe
Run Code Online (Sandbox Code Playgroud)
此外,gcc将始终链接.o文件,但如果尚未解析未定义的名称,它将只搜索库并从中链接.
| 归档时间: |
|
| 查看次数: |
5778 次 |
| 最近记录: |