引用iOS有关包装器标头的文档 http://developer.apple.com/library/ios/#documentation/DeveloperTools/gcc-4.0.1/cpp/Wrapper-Headers.html:
#include_next
不区分 和“file”包含,也不检查您指定的文件是否具有相同的内容
名称为当前文件。它只是查找名为的文件,从
搜索路径中当前目录之后的目录
找到文件。
使用“#include_next”可能会导致极大的混乱。我们推荐
仅当没有其他选择时才使用它。特别是,它
不应在属于特定程序的标头中使用;它
应该仅用于按照以下方式进行全局校正
修复包括。
那么,有两个问题,什么是#include_next,以及为什么需要使用它?
如果您想用您自己制作的标头替换默认标头,则可以使用它,例如,假设您想替换“stdlib.h”。您将在项目中创建一个名为 stdlib.h 的文件,该文件将代替默认标头被包含在内。
如果您想向 stdlib.h 添加一些内容而不是完全替换它,则使用#include_next。您创建一个名为 stdlib.h 的新文件,其中包含:
#include_next "stdlib.h"
int mystdlibfunc();
并且编译器不会包含yourstdlib.h 再次递归,就像普通 #include 的情况一样,而是继续在其他目录中查找名为“stdlib.h”的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)