GDCフロントエンドを作るの中間C / C ++コードを放出?
質問
D言語を調査している間、私はGDC、GCCのためのDコンパイラに出くわしました。私はここからMinGWのためのバージョンをダウンロードします:
http://sourceforge.net/projects/dgcc/files/する
ドキュメントはほとんど存在しなかったが、それは、コマンドラインスイッチのほとんどは、GCCコンパイラと同じであったことを言いました。しかし、それは私が通常、GCCでビルドしないので、多くの私を助けていません。
GDC「はGCCフロントエンド」として記載されています。それは私がいくつかの点で、それは中間C ++やGCCコンパイラが実際に飲み込むことができますCを生成するために持っていると思います。私は、これはGCCはObjective-Cのプログラムをコンパイルする方法であると信じています。
私が知りたいことはこれです:?GDCは、私はその後、GCC / MinGWのと手で検査してコンパイルすることができ、ファイルなどの中間C / C ++コードを放出するために取得する方法はあります。
解決
はありません。
フロントエンドGCCへ、次にアセンブリに直接コンパイルされる言語に依存しない表現を生成します。これは、C、C ++、オブジェクト - C、D、フォートラン、Java(登録商標)、エイダ、および他のフロントエンドの場合です。そこには中間体CまたはC ++の表現がなく、また一つが生成することができる。
他のヒント
クイック答え:いいえ。
私はGCCについて知っているから、それは抽象構文木は、言語に依存しないためを使用していますバックエンドへのフロントエンドから渡されるコード表現。理論的には、C / C ++コードにそのASTを「コンパイル」することは可能かもしれないが、私の知る限りGCCスイートはこれを実装していません。
基本的に、あなたは、x86、むしろ言うよりも、そのターゲットプラットフォームとしてのC / C ++を生成gcc
バックエンドを必要としています。これは完全に可能であるが、私はこれを行う実装を認識していませんよ。が存在する場合ちなみに、出力は非常に読みやすいではないかもしれません。