Tôi đang biên dịch chương trình của mình sẽ chạy trên linux gcc 4.4.1 C99.
Tôi chỉ đặt #defines của mình để tách mã sẽ được biên dịch trên windows hoặc linux. Tuy nhiên, tôi đã gặp lỗi này.
error: macro names must be identifiers.
Sử dụng mã này
#ifdef(WIN32)
/* Do windows stuff
#elif(UNIX)
/* Do linux stuff */
#endif
Tuy nhiên, khi tôi thay đổi thành này, lỗi đã được sửa:
#if defined(WIN32)
/* Do windows stuff
#elif(UNIX)
/* Do linux stuff */
#endif
Tôi chỉ tự hỏi tại sao tôi lại gặp lỗi đó và tại sao các #defines lại khác nhau?
Cảm ơn nhiều,