0
好吧,所以我怎么理解#include
作品是通过查找你包括并遵守它,并将其替换包含在哪里。但是,当我假设这一点时,我的程序不能编译,并且它在整个地方都是未定义的。如何包含头文件功能
例如,当我在main.c中将有类似
#include "tim.h"
#include "tim_cfg.h"
#include "tim_api.h"
tim.h包含像
typedef enum
{
RATE_DIV1 = 0X0,
RATE_DIV2 = 0X1,
RATE_DIV3 = 0X2,
RATE_DIV4 = 0X3,
RATE_DIV5 = 0X4,
RATE_DIV6 = 0X5,
RATE_DIV7 = 0X6,
RATE_DIV8 = 0X7,
RATE_DIV9 = 0X8
} BaseRate_T;
typedef unsigned char byte;
tim_cfg.h一些typesdef
s包含寄存器位置和基本struct
s
typedef struct
{
byte TimerSize;
byte InterruptLevel;
} TIMInfo_T;
和tim_api.h包含TIM的函数原型功能
所以,问题是为什么会出现错误
identifier "byte" is undefined
当第一件事,我包括什么呢?
不应该typedef照顾包含在第一个包括的错误 – Chrusciki
should'nt typedef在第一个include链接两个? – Chrusciki
'tim.h'本身是否包含'tim_api.h',在'typedef'的位置?如果不是太长,请发布整个'tim.h',或者至少包含'TIMInfo_T'的部分。 – TypeIA