0

重複の可能性:
プリプロセッサ出力

Android用のSTLポートをデバッグしていることに気づきました。全体を通して多くの(10-100?)プリプロセッサディレクティブを使用して、プリプロセッサによって実際に出力されるコードを決定します。たくさん#if#ifdefブロック。

これらを実行して、実際にコンパイラに送信されるテキストを表示できるツールはありますか?プリプロセッサの出力を確認することはできますか?

4

3 に答える 3

2

GCCではgcc -E source.c、プリプロセッサの出力のみを表示するために使用します。

Clangについても同じだと思います。

その他のコンパイラについては、マニュアルを参照してください。これは明確に文書化する必要があります。

于 2012-01-10T22:02:51.213 に答える
1

これはまさにBoostです。Waveはのために作成されました。

Wave C ++プリプロセッサライブラリは、標準テンプレートライブラリ(STL)のよく知られたイディオムとうまく統合された、使いやすいインターフェイスの背後にパックされた、必須のC99 /C++プリプロセッサ機能の標準準拠の実装です。

于 2012-01-10T22:03:13.133 に答える
0

私が使用したほとんどすべてのC++コンパイラには、このタスクを実行するためのコマンドラインスイッチがあります。g ++では-E(出力を書き込みます。マンページstdoutを参照してください)、VC ++では(出力から)または(出力からファイル)です。/EPstdout/P

于 2012-01-10T22:04:07.537 に答える