我正在编译将在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不同?
非常感谢,