Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用#define ENABLE_FLAG内部 C++ 代码并相应地尝试包含一段代码,同时ENABLE_FLAG定义。
#define ENABLE_FLAG
ENABLE_FLAG
我的问题是,里面的特定代码集
#ifdef ENABLE_FLAG ....setofcode.... #endif
是在运行时通过#ifdef检查评估还是编译器本身ENABLE_FLAG在编译期间看到并包含代码?
#ifdef
#ifdef并且您看到的所有其他以 a#作为第一个字符的内容都是“C 预处理器指令”。这些甚至在正确编译之前就已处理。所以根本不会做出运行时决定——启用/禁用代码块是在构建过程的最早部分决定的。
#
#define设置是编译时,并在运行时持续存在。
#define