这只是一个针对基于 C 语言的一般编译器问题。
如果我有一些看起来像这样的代码:
#include "header1.h"
#include "header2.h"
#include "header3.h"
#include "header4.h" //Header where #define BUILD_MODULE is located
#ifdef BUILD_MODULE
//module code to build
#endif //BUILD_MODULE
即使未定义 BUILD_MODULE,是否会构建与这些标头相关的所有代码?编译器只是“粘贴”标题的内容正确吗?所以这本质上会构建一个只占用空间的无用的一堆或标题代码?