如何查找Microsoft Visual C 中使用的编译预处理器
How to find compilation preprocessor used in Microsoft Visual C++
是否有一种方法可以在C 代码中找出预处理器,例如ndebug,nomaxmin等?
我可以做
之类的事情#ifdef _DEBUG
std::cout << "in debug mode";
#else
std::cout << "in release mode";
#endif
但是,有很多预处理器和同事也可以定义自己的。
我正在使用Microsoft Visual Studio编写C 代码,而不是GCC。
Visual Studio自动定义_DEBUG
,所以我建议您使用它。
但是,对于便携式解决方案,请使用NDEBUG
,例如:
#ifdef NDEBUG
// nondebug
#else
// debug code
#endif
参考:
- 预定义的宏MSDN
- 自动#Defines根据DEBUG/REAKIT CONIFY在Visual Studio 2010中的
- c/c :检测调试/发行的便携式方法?
ps:没有自动方法来检测同事定义的 custom 宏观的含义,因为同事几乎可以做任何事情。
相关文章:
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 用于交叉编译和CMake的预处理器宏的单元测试
- 如何摆脱为条件编译定义预处理器宏的需要?
- 如何在编译时定义C++预处理器指令的值?
- 预处理器命令中的 sizeof 无法编译,出现错误 C1017
- GCC 预处理器输出和编译一次通过,v2
- XCode预编译标头中的C 语言的预处理器定义了什么?
- 如何查找Microsoft Visual C 中使用的编译预处理器
- 预处理器和模板参数或代码段的条件编译
- C++/QT/ARM处理器的交叉编译/编程
- 我可以让C++预处理器在编译期间发送输出吗?
- 如何通过预处理器指令检查编程C++中是否需要预编译标头
- CUDA 中是否有预处理器宏可以告诉我们是否正在编译设备代码
- visual在c++中获取基本的文本处理器进行编译
- 使用Makefile编译的预处理器指令(#define)列表
- 如何使用枚举值直接编译预处理器指令
- 如何让C预处理器在编译过程中执行代码
- 确定何时在预处理器中从64位交叉编译为32位
- 默认预处理器定义和跨平台编译
- 如何在C++中减少TMP和宏预处理器元编程的编译时间?