【发布时间】:2013-01-11 14:53:26
【问题描述】:
我正在用 C 语言编写一个程序,旨在在 HP NonStop 机器上编译和运行。但是,我想在运行 Linux 的工作站上进行主要开发。 HP NonStop C 编译器需要非标准 #include 指令,如下所示:
#include <stdio.h> nolist
对于每个 #include 指令,我的工作站的 GCC 都在抱怨:
S88USF.c:139:21: warning: extra tokens at end of #include directive
我怎样才能抑制这个特定的警告?
注意:在 SO 上,已经提出了类似的问题,正确的答案是“一开始就不要给 gcc 任何抱怨的理由”。然而,在这种情况下,我明确希望 #include 指令与它们完全一样。
我知道我在做什么,只是不知道如何通知 gcc。
【问题讨论】:
-
我已经投票决定以重复的形式关闭——在这种情况下,确实有很多关于 SO 的问题,包括关于如何抑制警告的具体答案,而不仅仅是“不要给 gcc 任何理由首先抱怨”。
-
其他问题涉及通过
-Wblah标志族打开和关闭警告,根据GNU CPP Manualcpp的@987654329描述下的GNU CPP Manual在这种情况下不适用@ 选项:“请注意,许多预处理器的警告默认情况下是打开的,并且没有选项来控制它们。”所以,这毕竟不是重复的。 -
在回答了一个有点相关的问题here 后,我遇到了这个问题。如果您可以改用
clang,据我所知它支持-Wno-extra-tokens,这将是一个干净的解决方案。
标签: c gcc warnings compiler-warnings gcc-warning