Error #include nested too deeply

出现Error #include nested too deeply 原因是:

头文件相互包含。

例如,一个工程中bsp.h 包含 LocDongle.h, LocDongle.h又包含bsp.h,

编译时就会报Error #include nested too deeply 。

解决办法:

1、将两个头文件共用的那一部分抽出来单独建一个头文件。

2、加预处理#ifndef.. #define…#endif

//bsp.h#ifndef _BSP_H_#define _BSP_H_#include "LocDongle.h"#endif//LocDongle.h#ifndef _LOCDONGLE_H_#define _LOCDONGLE_H_#include "bsp.h"#endif

#include …#include …//内容,所有的函数声明等等放这里

头文件保护有用, 可以这样重复包含头文件包含其实就是在包含的位置展开它而已,你如果a.h包含了b.hb.h又包含了a.h如果你使用了#ifndef.. #define…#endif的话你在一个.c文件中包含a.h那么它里面包含的b.h中包含的a.h将不会重复包含。

头文件的嵌套一定要防止不断的包含,,处于一个无限的循环!

而这些目标凝结成希望的萌芽,在汗水与泪水浇灌下,绽放成功之花。

Error #include nested too deeply

相关文章:

你感兴趣的文章:

标签云: