0

有可能写这样的东西吗?

#define ISWINDOWS() (#if defined(_WIN32) || defined(_WIN64) \
                        1 \
                   #elif  \
                        0 \
                  #endif)

接着:

void foo() {
  if(ISWINDOWS()) {
   // ..
  } else {
   // ...  
 }
}
4

1 回答 1

2

您不能在宏中定义宏。你可以这样做,但它可能不是你想要的:

#if defined(_WIN32) || defined(_WIN64)
    #define ISWINDOWS() 1
#elif 
    #define ISWINDOWS() 0
#endif
于 2012-05-27T00:58:14.660 回答