1

HipHopHaxeのようなソース トランスについて考えてきました。それぞれの Web サイトから、これらのツールがソース言語をターゲット言語に変換し、ターゲット言語のコンパイラを使用して最終的な実行可能ファイルを生成していることがわかります。私が混乱しているのは、ソース言語がメモリ管理言語 (PHP、Haxe lang) であり、ターゲット言語が非メモリ管理言語 (C / C++) であるかどうかにかかわらず、これらのツールがケースをどのように処理するかということです。これに対処するために、 Monoはコンパイル時に VM を追加することを知っています。HipHop や Haxe などのツールは何をしますか? このトピックに関連するプログラミング言語/コンパイラの文献はどこにありますか?

ありがとう。

4

1 に答える 1

3

Haxe はガベージ コレクションを必要とし、それは単なる変換ではなく、ターゲット言語に必要なすべてを追加します。C++ ターゲット fe は、リフレクション、ガベージ コレクション、およびその他の種類の互換性クラスを C++ ランタイムに追加します。これにより、すべてのプラットフォームで多くの機能を使用できます。

ここでランタイム ファイルを確認できます。

試してみて、生成された C++ コードを確認することをお勧めします。

于 2012-08-29T08:38:16.390 に答える