如何查找Microsoft Visual C 中使用的编译预处理器

How to find compilation preprocessor used in Microsoft Visual C++

本文关键字:编译 处理器 预处理 Visual 何查找 查找 Microsoft      更新时间:2023-10-16

是否有一种方法可以在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. 预定义的宏MSDN
  2. 自动#Defines根据DEBUG/REAKIT CONIFY在Visual Studio 2010中的
  3. c/c :检测调试/发行的便携式方法?

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