gpt4 book ai didi

调用另一个文件中定义的 C 函数

转载 作者:行者123 更新时间:2023-11-30 21:02:42 24 4
gpt4 key购买 nike

我知道这个问题有很多答案,但我总是在 gcc c1.c 上遇到错误

c1.c:(.text+0x5): undefined reference to `f'
collect2: error: ld returned 1 exit status

无论我尝试什么。

这是c1.c

#include <stdio.h>

#include "c.h"

int main()
{
printf("F %d\n",f());
}

这是 c2.c

#include <stdio.h>

int f(void) {return 7;}

int main()
{
printf("S %d\n",f());
}

这是ch.h

int f(void);

我怎样才能让它工作?实际上,我在一个像这样建模的大程序中遇到了这个错误。我想这就是这样做的方法。(是的,main 应该返回 0)。

最佳答案

您将会遇到问题,因为您定义了两个不同的 main 函数,但执行此操作的一般方法是链接时问题:

gcc -c c1.c
gcc -c c2.c
gcc c1.o c2.o

您需要做的就是找出您想要的主要内容,然后删除不需要的内容。

你可以这样做:

gcc -Dmain=blah -c c1.c
gcc -c c2.c
gcc c1.o c2.o

关于调用另一个文件中定义的 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28606202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com