如何解决目标文件和静态库归档文件有什么区别?
| 似乎可以从目标文件生成存档文件:ar rvs libprofile.a profile.o
目标文件和归档文件有什么区别?
在我看来,两者都可以直接与gcc一起使用,例如:
gcc *.c profile.o
或gcc *.c libprofile.a
有什么不同?
解决方法
静态库是一个或多个目标文件的集合,带有索引以允许快速搜索。编译器处理它们的方式略有不同。使用目标文件,您可以这样链接:
gcc f1.o f2.o -o myexe
使用库,您还可以执行以下操作:
gcc f1.o libf2.a -o myexe
或者您可以使用速记:
gcc d1.o -lf2 -L. -o myexe
同样,gcc总是会链接.o文件,但是,如果仍然有未定义的名称需要解析,它将仅搜索库并从它们链接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。