将两个GCC编译的.o目标文件合并为第三个.o文件
一个人如何将两个由GCC编译的.o目标文件组合到第三个.o文件中? $ gcc -c a.c -o a.o $ gcc -c b.c -o b.o $ ??? a.o b.o -o c.o $ gcc c.o other.o -o executable 如果您有权访问源文件,则-combineGCC标志将在编译之前合并源文件: $ gcc -c -combine a.c b.c -o c.o 但是,这仅适用于源文件,GCC不接受.o文件作为此命令的输入。 通常,链接.o文件无法正常工作,因为您无法使用链接器的输出作为输入。结果是一个共享库,并且没有静态链接到生成的可执行文件中。 $ gcc -shared a.o b.o -o c.o $ gcc c.o other.o -o executable $ …