2016-06-21 14 views
2

ソースコードを一つの言語で書こうとしていて、ネイティブC++とJSソースの両方に変換しようとしています。理想的には、変換されたソースは人間が読める形式で、可能な限り元のソースに似ていなければなりません。私はhaxeが私のためにこの問題を解決できることを望んでいました。ですから、私はhaxescriptでコード化し、対応するC++とJSのソースに変換してください。しかし、私がhaxeの発見している例は、あなたのための最終的なアプリケーションを作成するようです。 C++では、msbuild(またはそれが見つけたコンパイラ)を使用し、生成されたC++コードから最終的なexeファイルを作成します。 haxeは、あなたが見ることができるC++とJSのソースコードも作成していますか、それとも内部的にhaxeとアクセスできないのですか?それがアクセス可能であれば、haxeの建物側を削除してソースコードを作成して停止させることは可能ですか?Cax + JSソースへのHaxeコンパイル

おかげ

答えて

4

あなたはすべての中間ファイルが生成されたCPPを生成し、あなたの出力(-cpp pathToOutputを使用して、指定されたパス)を生成することを決定どこ続けました。実行可能ファイルを取得するというのはおそらく、-mainスイッチを使用しているためです。これはアプリケーションへのエントリポイントを意味しますが、実際には必要ではないので、出力に組み込みたい種類のコマンドラインをコマンドラインに渡すことができます。

JSの場合、非常によく似ています.1つのJSファイルが生成され、-mainを使用した場合にはエントリポイントしかありません。

他のトピックについては、お使いのhaXeのコードが生成されたコードの答えはイエスですが、彼らは機能的に動作しますが、それのコードを生成しますので...種類(のようなEnumAbstract)の一部のみhaXeの中に存在するに似ているんかなり異なって見えるかもしれません。また、Haxeには、常時オンのオプティマイザ/アナライザがあり、予期しない方法でコードを混乱させる可能性があります(アナライザは無効にすることができます)。私は、生成されたコードからHaxeソースを理解することはそれほど難しいことではないことがわかります。 JSはデバッグに本当に便利なソースマッピングをサポートしています。最終的に、Haxeは生成されたコードを難読化するために何もしませんが、あまり厳密にそれを保存しようとすることはあまりありません。

+1

このような詳細な回答ありがとうございました。それは私が必要とするもののように聞こえる。複数のhaxeファイルを使用すると、1つのC++と1つのJSソースファイルに結合されますか、元の複数のhaxeファイルレイアウトに似ている複数のC++ファイルと複数のJSファイルが取得されますか? – codetemplar

+1

C++はたくさんのファイルを生成します(私は1つのタイプ+ヘッダ+ファイルを作ると信じています)、JSはあなたのすべてのタイプを組み合わせるファイルを1つだけ生成します。 –

+1

@codetemplar - CPP出力は単純なソース出力ではないことに注意してください。これはhxcppライブラリによって提供されるランタイムフレームワーク上に構築されており、JS出力はjavascriptランタイム(ブラウザによって提供される)と同じように動作します。実行可能ファイル(ランタイムを含む)をビルドします。 want - 中間ソース形式はほんのわずかしか役に立ちません。 –

関連する問題