我想知道是否可以使用字符串检查预处理器定义的变量是否存在。
例如,
#define TARGET_ANDROID
if (checkIfDefineExists("TARGET_ANDROID"))
{
cout << "It is defined\n";
}
然后结果应打印It is defined
。
据我所知这是不可能的,但是我想知道是否有任何解决方法。
答案 0 :(得分:2)
据我所知
正确。
但是我想知道是否有任何解决方法。
不。但是,如果您的目标是找出要编译程序的目标,则可以执行以下操作:
#if defined(TARGET_ANDROID)
# define TARGET "ANDROID"
#elif defined(TARGET_IOS)
# define TARGET "IOS"
#endif
if (checkIfTargetIs("ANDROID")) {
cout << "It is ANDROID\n";
}
答案 1 :(得分:1)
询问是否可能甚至没有意义,因为尚未定义“它”。
#define TARGET_ANDROID
if
#undef TARGET_ANDROID
(
#define TARGET_ANDROID
checkIfDefineExists
#undef TARGET_ANDROID
(
#define TARGET_ANDROID
"TARGET_ANDROID"
#undef TARGET_ANDROID
)
#define TARGET_ANDROID
)
#undef TARGET_ANDROID
{
cout << "It is defined\n";
}
您希望程序打印什么,为什么?