[英]Include a header in another header file
我在.h文件中定义了一个struct item
。 现在我在另一个.h中定义另一个struct tPCB
,它是同一个项目的一部分,我需要tPCB
才能有一个item
。 我认为只是制作相同TurboC项目的一部分将允许我在另一个头文件中使用item,但编译器会抛出“ undefined type: ite
”。
我想我不得不在第二个包含第一个标题,但是我已经看到了相同的代码,但没有这样做。
除了添加#include
行以使其工作之外,还有其他方法吗?
如果.c #include
以正确的顺序输入两个.h文件,它将起作用。 这可能就是你记得的情况。 最安全的方法是#include
定义依赖关系的每个文件,并依赖每个.h中的包含保护来防止事物被多重定义。
抱歉,在C中无法访问结构的定义,在另一个头文件中不包含该文件(通过#include)。 #include说明如下。
因此,假设包含项结构定义的头文件称为“item.h”,并且头文件包含“tPCB.h”中tPCB结构的定义。 在tPCB.h的顶部,您应该输入以下语句:
#include "item.h"
这应该让tPCB.h文件访问item.h中的所有定义。
永远不要在头文件中放置变量定义(即分配它们)。 这有很多不同的原因,其中两个主要原因是程序设计不佳以及链接器错误泛滥。
如果需要全局公开变量(实际上并不需要这么多的情况),那么在h文件中将其声明为extern
并将其分配到相应的C文件中。
你需要使用#include。 在C中,一切都是明确的; 不要指望它通过魔法发挥作用。
在你的“另一个.h”中, #include <a .h file>
。
阐述:
在定义struct tPCB
的文件中,您需要#include
定义struct item
的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.