我正在爲Windows,Unix和Mac製作跨平臺程序。爲了能夠使用特定於每個操作系統的東西,我使用#define
,例如,在編譯Windows時,我使用#define WINDOWS
。爲了確保不定義不存在的OS,或者至少是我的程序不支持,我用這個:在特定行處發生預處理器錯誤
#ifndef WINDOWS
#ifndef UNIX
#ifndef MAC
#error "OS must be WINDOWS, UNIX or MAC"
#endif
#endif
#endif
當我定義一個無效的OS,是給我一個錯誤,因爲它應該,但它會將紅色的矩形表示錯誤在#error
行之前。我想把它放在我定義操作系統的那一行的前面。例如,如果我應該在第11行定義操作系統,我希望它將我發送到第11行。有沒有辦法做到這一點?
如何在第11行定義操作系統?只用(例如)#define WINDOWS?如果 – vadikrobot
@vadikrobot我在第11行定義操作系統意味着我的程序中的第11行包含例如'#define WINDOWS'。 –
如果此行不存在,您希望在此行上看到錯誤? – vadikrobot