我有2个文件:
A.C
和
B.c
他们两个都没有主要功能。 如何编译并将它们链接到一个名为D.o?
的单个非可执行文件中答案 0 :(得分:5)
您可以先将它们编译为单独的目标文件,然后通过ld -r
将这些文件与保留的可重定位信息相关联:
ld -r tmp1.o tmp2.o -o tmp.o
答案 1 :(得分:1)
如果你想要一个不可执行的文件,@ yugr解决方案就好了。但是,如果根本不需要,这里是如何链接多个文件并创建单个目标文件。
GCC
gcc -o d.o a.c b.c
请注意,-o
用于指定目标文件的名称。
但是,如果你想做得更好,你应该看看makefile,并为每个源文件创建一个目标文件,然后一起编译它们。
小例子:
exe: a.o b.o
gcc -o exe a.o b.o
a.o: a.c
gcc -c a.c
b.o: b.c
gcc -c b.c