这是一个非常幼稚的问题,我搜索了很多,但由于我的懒惰找不到答案。
我的源代码函数都在一个名为 lib.c 的文件中,并且我创建了一个头文件 lib.h,我在 main.c 中调用它。当我在 lib.c 中有一个 struct{} 时会出现问题,因为函数需要在本地使用全局 struct 对象。
由于这种复杂性,我还必须在 lib.c 源文件中包含 lib.h,因为 struct{} 是在 lib.h 中声明的。
如果我从头文件中取出 struct{} 并将其放在 lib.c 文件中,则 main.c 无法读取该结构,因为它未包含在 lib.h 中。
lib.h
struct Structure {} structure;
void func1();
void func2();
lib.c
#include <stdio.h>
#...
void func1() {};
void func2() {};
main.c
#include <stdio.h>
#...
#include "lib.h"
int main() {};