linux下多个.o文件如何链接生成可执行程序
比如说:我有一个源文件,里面都我的源代码生成的相应的.o文件,用gcc编缉器,我用什么命令可以把它们链接在一起呢?例:a.o,b.o,c.o,d.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,但是得不到正确结果!
还请高手帮忙看看,谢谢了! 展开
我有一个源文件,里面都我的源代码生成的相应的.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,但是得不到正确结果!
还请高手帮忙看看,谢谢了! 展开
4个回答
展开全部
方法和详细的操作步骤如下:
1、第一步,找到需要打开的.o后缀文件,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,打开编译器,并在此处使用c-free5,选择新文件,并将其保存为cpp格式,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,单击“运行”,发现在文件末尾出现了一个具有相同名称.o后缀的文件,见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,可以推断,当多种编程语言希望混合编译时,可以将其编译成.o文件,然后链接到可执行的文件,见下图,转到下面的步骤。
5、第五步,执行完上面的操作之后,如果要打开,则需要先找到原始cpp文件并使用IDE对其进行编译,以形成exe可执行文件,然后才能将其打开,见下图。这样,就解决了这个问题了。
展开全部
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" // 这句根本就是多余的,删除即可编译连接通过
gcc x1.c x2.c -o output_filename 编译后连接成可执行文件
gcc x1.o x2.o -o output_filename 连接成可执行文件
=================================================
#include"test.c" 是什么???
=================================================
#include"b.c" // 这句根本就是多余的,删除即可编译连接通过
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单,使用-o选项就可以了。如果有a.o, b.o, c.o, d.o4个.o文件,则使用以下命令:
gcc -o (生成的目标名称)test a.o b.o c.o d.o
gcc -o (生成的目标名称)test a.o b.o c.o d.o
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gcc -o test a.o, b.o, c.o, d.o
生成的test文件是连接后的可执行文件。
./test就可以执行了
生成的test文件是连接后的可执行文件。
./test就可以执行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询