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