我应该使用这些中的哪一个来忽略一个警告?
#pragma clang diagnostic ignored "-W<warning>"
#pragma GCC diagnostic ignored "-W<warning>"
这两种方法对我来说似乎都可以,但哪一种是正确的?
我是否应该始终使用与我正在使用的编译器相匹配的那种方法?
我应该使用这些中的哪一个来忽略一个警告?
#pragma clang diagnostic ignored "-W<warning>"
#pragma GCC diagnostic ignored "-W<warning>"
这两种方法对我来说似乎都可以,但哪一种是正确的?
我是否应该始终使用与我正在使用的编译器相匹配的那种方法?
通常情况下,对于特定于GCC的预处理指令或同样适用于试图与GCC兼容(如ICC)的Clang和其他编译器的情况,您应该优先选择#pragma GCC
。而对于某种程度上是Clang特定的预处理指令(例如在GCC中不存在的诊断选项),则应使用#pragma clang
。