2012-04-12 11 views
4

誰かが私を撃墜する前に、私はJavaのバイナリコンパイラを認識しています。JavaソースをC++ソースに変換するツール

私はまた、何も問題なくすべてを変換する完璧なツールがないことを知っています。私は、欠落しているJavaライブラリが大きな問題であることを認識しています。しかし、私のソースは、Stringやprintなどのものを除いて、多くのJavaライブラリを利用していません。私は、Javaソースが参照するクラスを作成するツールだけを望んでいます。弦楽器の場合、私は隙間を埋めるか後の段階で修正するのがうれしいです。私はちょうどツールが退屈なビットをしたいので、私は手動で翻訳を行う必要はありません。

必要なクラスなどの場合は、後でそれらを手動で修正しますが、退屈な作業を行うのに十分なポインタに感謝します。

もう一度、ソースを翻訳し、バイナリを生成するコンパイラではありません。基本的に私はいくつかのJavaのものをとり、後で他のプロジェクトで使うためにC++に変換したいと思っています。

EDIT ADDITIONAL NOTES

申し訳ありませんが、私はこの質問の私の前の部分では明確ではなかった場合。私はJavaがC++と非常に異なっていることを知っています。ほとんどの場合、配列とビットを処理するJavaコードがあり、ほとんどオブジェクトが作成されていません。ある意味では、それは非常に自己完結型であり、他のクラスへの呼び出しはほとんどありません。これらのクラスは、変換のための主要な候補であるようです。他のものは書き直さなければならないが、少なくともいくつかの部分が活用される。

+0

本当にC++からJavaユーティリティにアクセスしたい場合、それらを移植する代わりにJNIを使​​用することができます。 –

+0

複製からの可能な回答:http://tangiblesoftwaresolutions.com/Product_Details/Java_to_CPlusPlus_Converter_Details.html - ツールには多くの注意点があり、無料ではありません。 –

+0

@jesseもし私がJavaを求めているなら - > C++どうすればyorの提案の複製となることができますか? –

答えて

11

j2cは1つです。これは、JavaソースコードをそのラフなC++に変換します。

明らかに、他の人が(ガベージコレクション、同期など)言及している多くの注意点がありますが、それは良い出発点となります(オープンソースなので、簡単にその点を改善することができます)。

あなたのコードベースのサイズにもよりますが、自分自身をロールさせることも意味があるかもしれません - Java構文がほとんどC++のサブセットであるという条件でJava ASTを使用すると、 、そしてあなたのためにJavaコードを解析するライブラリがたくさんあります(たとえば、Eclipseに付属のものを使用しています)。手作業で変換を行うのは、ツールを作成するよりもエラーが発生しやすくなります。

関連する問題