Linux gcc 4.4.1 C99で実行するプログラムをコンパイルしています。
#definesを入れて、WindowsまたはLinuxでコンパイルされるコードを分離していました。ただし、このエラーが発生しました。
error: macro names must be identifiers.
このコードを使用する
#ifdef(WIN32)
/* Do windows stuff
#elif(UNIX)
/* Do linux stuff */
#endif
ただし、これに変更するとエラーが修正されました:
#if defined(WIN32)
/* Do windows stuff
#elif(UNIX)
/* Do linux stuff */
#endif
なぜそのエラーが発生したのか、なぜ#definesが異なるのか疑問に思っていましたか?
どうもありがとう、