Phi*_*lip 3 c gcc warnings compiler-warnings gcc-warning
我正在用C语言编写一个程序,用于编译并在HP NonStop机器上运行.但是,我想在运行Linux的工作站上进行主要开发.HP NonStop C编译器需要非标准的#include指令,如下所示:
#include <stdio.h> nolist
Run Code Online (Sandbox Code Playgroud)
对于每个#include指令,我的工作站的GCC抱怨:
S88USF.c:139:21: warning: extra tokens at end of #include directive
Run Code Online (Sandbox Code Playgroud)
我怎么能抑制这个特别警告?
注意:在SO上,已经提出类似的问题,正确的答案是"不要让gcc首先抱怨任何理由".但是,在这种情况下,我明确地希望完全按原样使用#include指令.
我知道我在做什么,我只是不知道如何通知gcc.
一种解决方法是定义包含以下preproccesor宏的标头:
//hp_workaround.h
#ifdef HP_
#define HP_INCLUDE_DIRECTIVE(x) x
#else
#define HP_INCLUDE_DIRECTIVE(x)
#endif
Run Code Online (Sandbox Code Playgroud)
然后用这个宏保护你的指令
#include "hp_workaround.h"
#include <stdio.h> HP_INCLUDE_DIRECTIVE(nolist)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2394 次 |
| 最近记录: |