gpt4 book ai didi

c++ - 如何找到 Microsoft Visual C++ 中使用的编译预处理器

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:02 24 4
gpt4 key购买 nike

有没有办法找出 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

引用资料:

  1. Predefined Macros Msdn
  2. Automatic #defines according to Debug/Release config in Visual Studio 2010
  3. C / C++ : Portable way to detect debug / release?

PS:没有自动检测同事定义的自定义宏的含义的方法,因为同事几乎可以做任何事情。

关于c++ - 如何找到 Microsoft Visual C++ 中使用的编译预处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46085653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com