将.c文件与main.c文件链接

时间:2014-11-17 05:36:43

标签: c linker

我为一个类编写了一个函数,我需要提交它,以便在编译时能够正常工作。

main.c标题看起来像......

#include <stdio.h>
#include <stdlib.h>

我的功能代码fun.c看起来像这样......

#include <stdio.h>
#include <stdlib.h>
#include "main.c"

但由于某种原因,他们没有联系在一起。当我编译并运行时,我没有收到错误,它只是运行main.c,好像fun.c不存在,这意味着它忽略了对fun.c的函数调用并运行程序而不执行我需要显示的内容。

我在main.c中一起编写了代码,所以我知道函数有效。我只是有点麻烦将它分成两个单独的.c文件并链接它们。

感谢您的帮助

//编辑&amp;更新

使用gcc -m32 -O1 * .c编译目录中的两个文件是fun.c和main.c

基本上我们提交的函数必须与提供的main.c一起使用,但是我们没有大声修改main.c所以我不知道如何将它添加到我的函数中所以它们都是编译/链接

1 个答案:

答案 0 :(得分:0)

将来请使用外包文件的其他名称,main.c不方便。正确的方法是:为外包main.c创建一个头文件。它应该命名为main.h.在那里你将声明你的函数: addNumbers(int a,int b); 然后你打开你的外包main.c文件,然后你 #include“main.h”。然后打开你的fun.c文件和 #include“main.h”。完成所有操作后,编译主文件: gcc -c -o fun.o fun.c »然后您的外包文件: gcc -c -o main.o main.c »现在将两个文件链接在一起: gcc -o name main.o fun.o 然后您就可以执行您的程序了。