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 に答える