#error指令是crossplatform和crosscompiler

时间:2017-07-28 13:25:45

标签: c++ c macros c-preprocessor

我知道... data:$('#myForm').serialize(), ... 指令至少适用于GCCMSVC

#error

但它是跨平台和交叉编译器吗?它可能是某些标准的一部分吗?

PS。因为即使查看GCC和MSVC手册中给出的示例,也会看到差异。虽然它既可以使用引号也可以使用引号,但它会产生一种悲伤的感觉,它可能以某种方式依赖于编译器。

GCC示例

 #if !defined(__cplusplus)  
 #error C++ compiler required.  
 #endif

MSVC示例

#error "Won't work on ..."   // quotes here

1 个答案:

答案 0 :(得分:7)

是的。它是C和C ++中的标准预处理程序指令。

参考文献:     http://en.cppreference.com/w/cpp/preprocessor/error     http://en.cppreference.com/w/c/preprocessor/error