到目前为止,我到目前为止:
#define ADEFINE "23"
#pragma message ("ADEFINE" ADEFINE)
哪个可行,但是如果ADEFINE不是字符串怎么办?
#define ADEFINE 23
#pragma message ("ADEFINE" ADEFINE)
原因:
理想情况下,我希望能够处理任何值,包括未定义的值。
最佳答案
要显示不是字符串的宏,请输入stringify the macro:
#define STRINGIFY(s) XSTRINGIFY(s)
#define XSTRINGIFY(s) #s
#define ADEFINE 23
#pragma message ("ADEFINE=" STRINGIFY(ADEFINE))
如果您有/想要boost,则可以使用boost stringize为您完成:
#include <boost/preprocessor/stringize.hpp>
#define ADEFINE 23
#pragma message ("ADEFINE=" BOOST_PP_STRINGIZE(ADEFINE))
关于c - 我如何在gcc中显示编译时#define的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9694248/