3

Cコンパイラは、.i拡張子付きのプリプロセッサ出力ファイルの生成をサポートしています。
私の知る限り、これは Microsoft (Visual Studio)、ARM、Keil、および一部の GNU コンパイラに当てはまります。

彼らは通常、コンパイラ スイッチ-Eまたはその-Pために使用します。コメントを保持するため
のコンパイラ スイッチもあります。-C

プリプロセッサ ファイルの作成は ANSI-C の標準ですか、それともこのコンパイラ固有のものですか?
オプション-Cも標準ですか?

編集:
より正確に言うと:これはファイルの作成のサポートに関するもので.iあり、コンパイラ スイッチの構文や名前に関するものではありません。

4

2 に答える 2

3

ISO C 標準では標準化されていません。

ただし、ほとんどのコンパイラには-Eprepro 出力を生成する機能があるようです。prepro の出力はデバッグに非常に役立つことが多いため、これは合理的です。

私がチェックしたコンパイラのリストは次のとおりです。

  • gcc
  • pcc
  • ガチャガチャ
  • ctc (トライコア)
  • タスク C166
  • ウインドリバー (DIAB)

これらのコンパイラはすべて、prepro 出力を任意のファイル (任意の拡張子) に書き込むことができます。は.i間違いなく標準ではありません。

-Cコメントを保持するためのオプションは、かなり具体的なようです。

于 2013-06-13T07:23:52.813 に答える
2

C プログラミング言語標準では、コンパイラの呼び出し方法について何も指定していません。

それは「その場しのぎの」標準かもしれませんが、「グローバルに」公式に管理されているものではありません。このようなことを指定できるPOSIXなどのローカル標準がありますが、もちろん、非 POSIX 環境用に実装されたコンパイラはカバーされません。

于 2013-06-13T07:23:29.777 に答える