gpt4 book ai didi

c - 将主文件拆分为C中的模块

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

我有三个这样的文件:

模块.c:

void bar() {
foo();
}

module.h:(为简单起见,我没有放置 include guard)

void bar();

主.c

void foo() {
//some code
}
int main() {
bar();
}

当编译 main.c 和 module.c 时,module.c 返回一个错误,指出 foo() 未定义。我该如何解决这个问题?基本上,我想获取我的实际主文件,该文件非常大,并将其中的一部分拆分为其他文件以提高可读性,但这些函数会调用 main 中的其他函数

最佳答案

这很棘手,因为您的依赖关系的发展方向。

我可以将你的代码分成三个编译单元:main.c、module.c 和 foo.c

如果这样做,main 中就没有任何 foo 代码,main 只调用 bar,bar 包含 foo,foo 是在 foo 中定义的。

主.c

#include "module.h"

int main() {
bar();
}

模块.c

#include "foo.h"

void bar() {
foo();
}

foo.c

void foo() {

}

最重要的是您不需要在 foo.h 之外声明 foo,或者在 module.h 之外声明 bar。

关于c - 将主文件拆分为C中的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301284/

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