繁体   English   中英

在另一个头文件中包含标头

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM