我可以在 Xcode 的消息/警告中打印出预处理器值吗?

Can I print out a preprocessor value in a message/warning in Xcode?

本文关键字:预处理 处理器 打印 Xcode 消息 警告 我可以      更新时间:2023-10-16

我想打印出(在编译期间)消息,告诉我Xcode5 C++项目中的一些预处理器设置。我相信没有标准的方法可以做到这一点(我之前在VC++中使用技巧做到了这一点)。

如何使此代码打印出__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__的实际值?

#   if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60000 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
#       define OGRE_PLATFORM OGRE_PLATFORM_APPLE_IOS
#   else
#       define OGRE_PLATFORM OGRE_PLATFORM_APPLE
#   endif

这对我有用:

#define STR(X) #X
#define DEFER(M,...) M(__VA_ARGS__)
#pragma message "min version required is " DEFER(STR,__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)

帽子提示(和参考链接)到Clang用户手册。