可以写这样的东西吗?
#define ISWINDOWS() (#if defined(_WIN32) || defined(_WIN64) \
1 \
#elif \
0 \
#endif)
然后:
void foo() {
if(ISWINDOWS()) {
// ..
} else {
// ...
}
}
答案 0 :(得分:2)
您无法在宏中定义宏。你可以做到这一点,但它可能不是你想要的:
#if defined(_WIN32) || defined(_WIN64)
#define ISWINDOWS() 1
#elif
#define ISWINDOWS() 0
#endif