【发布时间】:2013-11-22 05:38:46
【问题描述】:
我尝试在 C 标头中使用或不使用包含保护进行编译,并确保多个 c 文件包含相同的标头。这将导致重新声明,并且是允许的。那它有什么用呢?
【问题讨论】:
标签: c header include guard inclusion
我尝试在 C 标头中使用或不使用包含保护进行编译,并确保多个 c 文件包含相同的标头。这将导致重新声明,并且是允许的。那它有什么用呢?
【问题讨论】:
标签: c header include guard inclusion
您防止循环包含:
/** file A.h */
#include "B.h"
/** file B.h */
#include "A.h"
如果您包含“A.h”或“B.h”,会发生什么?您的预处理器将尝试包含另一个文件,该文件将包含另一个文件,该文件将包含另一个文件,...
守卫确保您不会多次包含该文件。
【讨论】: