Я компилирую свою программу, которая будет работать на 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 отличаются?
Большое спасибо,