2

非 ANSI-C ファイルを前処理するために cpp (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 に答える