linux下多个.o文件如何链接生成可执行程序

比如说:
我有一个源文件,里面都我的源代码生成的相应的.o文件,用gcc编缉器,我用什么命令可以把它们链接在一起呢?
例:a.o, b.o, c.o, d.o
其中有一个是主函数,这样吧,我贴上源代码
这是主函数文件a.c
#include"b.c"
#include<stdio.h>

extern void a();

int main()
{
a();
}
另一个是b.c
void a()
{
printf("hello world\n");
}
就这么简单的两个函数先用gcc -c a.c b.c生成a.o和b.o文件
按楼下各位的说法就是gcc -o test a.o b.o,但是得不到正确结果!
还请高手帮忙看看,谢谢了!

方法和详细的操作步骤如下:

1、第一步,找到需要打开的.o后缀文件,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,打开编译器,并在此处使用c-free5,选择新文件,并将其保存为cpp格式,见下图,转到下面的步骤。

3、第三步,执行完上面的操作之后,单击“运行”,发现在文件末尾出现了一个具有相同名称.o后缀的文件,见下图,转到下面的步骤。

4、第四步,执行完上面的操作之后,可以推断,当多种编程语言希望混合编译时,可以将其编译成.o文件,然后链接到可执行的文件,见下图,转到下面的步骤。

5、第五步,执行完上面的操作之后,如果要打开,则需要先找到原始cpp文件并使用IDE对其进行编译,以形成exe可执行文件,然后才能将其打开,见下图。这样,就解决了这个问题了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
gcc -c x1.c x2.c 只编译不连接

gcc x1.c x2.c -o output_filename 编译后连接成可执行文件

gcc x1.o x2.o -o output_filename 连接成可执行文件

=================================================

#include"test.c" 是什么???

=================================================

#include"b.c" // 这句根本就是多余的,删除即可编译连接通过本回答被提问者和网友采纳
第2个回答  2010-07-21
很简单,使用-o选项就可以了。如果有a.o, b.o, c.o, d.o4个.o文件,则使用以下命令:
gcc -o (生成的目标名称)test a.o b.o c.o d.o
第3个回答  2010-07-21
gcc -o test a.o, b.o, c.o, d.o
生成的test文件是连接后的可执行文件。
./test就可以执行了