CコードをJavaScriptに、またJavaScriptからCに変換する方法はありますか? C++からV8 juice
クラスを生成できるJavaScript-side
が見つかりましたが、それは1つの方法(C++からJavaScript)にすぎません。
私はソフトウェアを探していません。
Castl を使用してJavaScriptのサブセットをLuaに変換し、次に lua2c を使用してLuaコードをCに変換することができます。
あるいは、 JavaScriptをPythonにコンパイルする の後に、RPythonコンパイラを使用して PythonソースコードをCに変換する にすることもできます。 RPythonはPythonのサブセットです。これにより、JavaScriptのサブセットをCに変換できます。
ts2c と呼ばれるコンパイラもあります。このコンパイラは、明らかにJavaScriptとTypeScriptのソースコードをCに変換できます。
さらに別のオプションは、 NectarJS を使用してJavaScriptをCまたはWebAssemblyにコンパイルすることです。
単に埋め込むことができるのに、なぜ変換するのですか?
https://code.google.com/p/v8/ 「V8はスタンドアロンで実行するか、C++アプリケーションに埋め込むことができます。」
C++アプリケーションに組み込まれているため、JavaScriptはC++アプリケーションがアクセスできるシステムにアクセスできるため、そもそも変換する必要がありません。ただし、セキュリティ上の理由から、アクセスできるものをいくらか制限します。 Webブラウザーは、C++アプリケーションに組み込まれているJavaScriptの最も顕著な形式であることは明らかです。名前からもわかるように、JavaScriptはスクリプト言語であり、Cコードのようにアセンブリ/マシンコードにコンパイルすることを意図していません。
Fabricice Bellard の QuickJS JavaScriptインタープリターには JS to Cコンパイラー も含まれています。
C言語は、javascriptやv8エンジンではできない多くのこと、特にメモリ管理、直接メモリアクセス、割り込み、アセンブリコード、スレッド管理などのシステムプログラムを実行できます。そのため、システムコードを含まない非常に単純なコードでない限り、cをjavascriptに変換することはできません。 nodeJS(v8 javascriptではない)とシステムラッパーコードを使用して、システムレベルの機能をいくつか実行します。繰り返しますが、それは変換の複雑な部分です。この単純なコードを変換できたとしても、cと変換されたjavascriptの実行はv8エンジンに基づいているため異なります。
JavascriptをCに変換することは可能です。なぜなら、Cはインタープリターの実行を含むあらゆる実行を実質的に処理できるからです。