2

我正在尝试使用 cpp(ANSI-C 预处理器)来预处理一些非 ANSI-C 文件。

这些文件包含 PicoBlaze 语法中的汇编指令。PicoBlaze 用于'd注释文字的基数。我想用 cpp 预处理我的文件。

我得到几个:

<stdin>:228:163: warning: missing terminating ' character [enabled by default]
<stdin>:257:98: warning: missing terminating ' character [enabled by default]
...

警告。如何禁用'cpp 中(或所有字符)的终止字符检查?

这是我的命令行调用:

cpp.exe -E main_Page0.psm
4

1 回答 1

1

我想我自己找到了解决方案,但我仍然愿意接受其他建议。

解决方案 1)
-w禁用所有警告 -> 不满意

禁止所有警告,包括默认情况下 GNU CPP 发出的警告。
GCC 手册 (v4.9.2) -> 第 158 页

解决方案 2)
-x assembler-with-cpp将 cpp 的源语言设置为汇编。
如果文件扩展名未知(等于-x c),则默认语言为 ANSI-C。

指定源语言:C、C++、Objective-C 或汇编。这与标准一致性或扩展无关;它只是选择期望的基本语法。如果您没有给出这些选项,cpp 将根据源文件的扩展名推断语言:“.c”、“.cc”、“.m”或“.S”。C++ 和汇编的一些其他常见扩展也被认可。如果 cpp 不能识别扩展名,它会将文件视为 C;这是最通用的模式。
GCC 手册 (v4.9.2) -> 第 160 页

于 2015-05-11T18:21:55.880 回答