我正在为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