目标文件和静态库(归档文件)有什么区别?

| 似乎可以从目标文件生成存档文件:
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文件,但是,如果仍然有未定义的名称需要解析,它将仅搜索库并从它们链接。     

要回复问题请先登录注册