Error #include nested too deeply
来源:互联网 发布:php 7 编辑:程序博客网 时间:2024/06/05 17:28
出现 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
//bsp.h#ifndef _BSP_H_//文件开始、第一行#define _BSP_H_#include "LocDongle.h"...//内容,所有的函数声明等等放这里#endif//文件末尾//LocDongle.h#ifndef _LOCDONGLE_H_//文件开始、第一行#define _LOCDONGLE_H_#include "bsp.h"...//内容,所有的函数声明等等放这里#endif//文件末尾
头文件保护有用, 可以这样重复包含
头文件包含其实就是在包含的位置展开它而已,
你如果a.h包含了b.h
b.h又包含了a.h
如果你使用了#ifndef.. #define...#endif的话
你在一个.c文件中包含a.h那么它里面包含的b.h中包含的a.h将不会重复包含。头文件的嵌套一定要防止不断的包含,处于一个无限的循环!
- Error #include nested too deeply
- Error #include nested too deeply
- asdoc error Too many nested template or function calls
- caffe 与cudnn版本不匹配 ./include/caffe/util/cudnn.hpp:127:41: error: too few arguments to function
- Error:too much recursion
- HOPE DEEPLY
- error:#include"Point.h";
- write error:file too large!!!
- ES Data too large Error
- error: #error Your compiler is too buggy
- [Compile Error] Classes must not be nested
- “Internal Build Error” or “Classes Must Not Be Nested” error
- blog error #include "stream.h"
- #include <Python.h> error :解决方案
- ORA-01555:snapshot too old Error (一)
- 异常:Error: executeQueryForObject returned too many results.
- _CrtDbgReport: String too long or IO Error
- error RS102 too stale to catch up
- 基于用户体验的设计思想和用户体验概述
- wince6.0串口驱动相关
- 在linux的top命令里的cpu信息是什么意思呢?
- 详细介绍 CVS (附带 其配置与使用方法)
- VC6.0中如何彻底删除类文件
- Error #include nested too deeply
- 采用scp命令在Linux系统之间copy文件
- RadioButtonList
- 感谢生活--vlink虚拟链路的实现及原理
- extJs 4种异步提交
- Android是什么 之三-------手机之硬件形态 .
- Windows驱动加载工具---DriverLoader
- 一周的项目总结
- Android核心分析之四 ---手机的软件形态 .