在翻译单元中选择性禁用警告的 GCC 等效项
在 C 项目中,会出现需要抑制特定代码段警告的情况不影响项目其他地方的警告行为。为了实现这一点,Microsoft Visual C (MSVC) 使用了一对编译指令:
#pragma warning( push ) #pragma warning( disable : 4723 ) // Code section where warning 4723 is suppressed #pragma warning( pop )
GCC 诊断编译指令
GCC 未提供与 MSVC 警告完全相同的内容实用程序。但是,它确实提供了诊断编译指示,可以更好地控制警告抑制。最相关的是 #pragma GCC 诊断:
#pragma GCC diagnostic [warning|error|ignored] "-Wwhatever"
局限性
#pragma GCC 诊断与 MSVC 的编译指示相比有局限性:
用法
要抑制特定警告,例如“-Wwhatever”,请在触发的代码之前使用以下编译指示警告:
#pragma GCC diagnostic ignored "-Wwhatever"
在受影响的代码之后,使用以下命令恢复原始警告行为:
#pragma GCC diagnostic warning "-Wwhatever"
注意事项
以上是如何有选择地禁用特定代码段中的 GCC 警告?的详细内容。更多信息请关注PHP中文网其他相关文章!