gpt4 book ai didi

c - 链接中的多重定义

转载 作者:太空宇宙 更新时间:2023-11-04 00:57:44 25 4
gpt4 key购买 nike

我是链接的初学者,假设我有两个 .c 文件

file1.c 是

#include <stdio.h>
#include "file2.c"


int main(int argc, char *argv[])
{
int a = function2();
printf("%d",a);
return 0;
}

而file2.c是

int function2() 
{
return 2018;
}

我编译的时候出现链接器错误,是function2的多重定义,但是我在file2.c中只定义了一次function?

最佳答案

您应该创建一个头文件“file2.h”,其中:

int function2(void);

和一个文件“file2.c”,函数为:“file2.h”,其中:

#include "file2.h"

int function2(void)
{
return 2018;
...
}

然后在您的 main 中,您必须包含 header :

#include "file2.h"

注意所有这些文件应该在同一个文件夹中以避免任何链接问题

关于c - 链接中的多重定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53103112/

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