我知道#warning指令不是标准的C/C++,但有几个编译器支持它,包括gcc/g ++.但对于那些不支持它的人,他们会默默地忽略它还是会导致编译失败?换句话说,我可以安全地在我的项目中使用它而不会破坏不支持它的编译器的构建吗?
应该注意的是,MSVC使用以下语法:
#pragma message ( "your warning text here" )
通常的#warning语法会产生致命错误
C1021: invalid preprocessor command 'warning'
所以它不适合那些编译器.
如果编译器不支持#warning,则可能会发出错误.与#pragma不同,不建议预处理器忽略它不理解的指令.
话虽如此,我已经在各种不同(相当常见的)平台上使用了编译器,并且他们都支持#warning.