gcc链接目标文件和库 - 有什么区别?

时间:2012-06-27 16:38:52

标签: linux gcc

假设有这个命令:

g++ main.o somefile.o -lc -o main

链接目标文件somefile.o和链接库libc.a?

有什么区别

1 个答案:

答案 0 :(得分:2)

以“.a”结尾的文件是存档文件。它们基本上包含一组“.o”。因此,假设“libc.a”包含“c1.o”,“c2.o”和“c3.o”,您的命令基本上等同于取消归档“libc.a”,然后调用:

g++ main.o somefile.o c1.o c2.o c3.o -o main

请注意,“.a”中包含的对象仅在需要时包含,即,如果其符号中至少有一个被另一个“.o”引用。

相关问题