Outil pour convertir une source Java en source C++ [dupliquer]


Cette question a déjà une réponse ici:

Avant que quelqu'un m'abatte, je suis au courant des compilateurs Java to binary et je ne suis pas après l'un de ceux-ci.

Je sais aussi qu'il n'y aura pas d'outil parfait qui convertit tout sans aucun problème. Je suis conscient que Java manquant les bibliothèques sont un problème majeur; cependant, ma source n'utilise pas beaucoup de bibliothèques Java, sauf pour des choses comme la chaîne et les impressions. Je veux seulement l'outil pour créer les classes que la source Java référence. Dans le cas des trucs de chaîne, je suis heureux de combler les lacunes ou de corriger à un stade ultérieur. Je veux juste que l'outil fasse les bits ennuyeux afin de ne pas avoir à faire la traduction manuellement.

Dans le cas des classes requises, etc., je les corrigerai manuellement à un stade ultérieur mais je le ferais appréciez un pointeur vers quelque chose qui à tout le moins obtient assez de choses ennuyeuses faites.

Encore une fois, je veux que la source soit traduite et non qu'un compilateur produise un binaire. Fondamentalement, je veux prendre des trucs Java et les convertir en C++ pour une utilisation ultérieure dans d'autres projets.

MODIFIER NOTES SUPPLÉMENTAIRES

Désolé si je n'étais pas clair dans mes parties précédentes de cette question. Je sais que Java est très différent de C++. J'ai du code Java qui est principalement rempli de traitement des tableaux et des bits et n'a presque pas de création d'objet. Dans un sens, il est très autonome et a peu d'appels à d'autres classes. Ces classes semblent être des candidats de choix pour la conversion; les autres choses devront être réécrites mais au moins certaines parties sont exploitées.

Author: Anderson Green, 2012-04-12

1 answers

J2c en est un - il convertira le code source Java en son équivalent C++ approximatif.

Évidemment, il y a beaucoup de mises en garde que d'autres ont mentionnées (garbage collection, synchronisation, etc.) mais cela fournira un bon point de départ (et c'est open source pour que vous puissiez facilement améliorer ce point =).

En fonction de la taille de votre base de code, il peut également être judicieux de lancer le vôtre-en écrire un n'est pas si difficile une fois que vous avez un AST Java avec lequel travailler donné que la syntaxe Java est principalement un sous-ensemble de C++, et qu'il existe de nombreuses bibliothèques qui analyseront le code Java pour vous (j2c utilise celui fourni avec Eclipse par exemple). Faire une conversion à la main est beaucoup plus sujet aux erreurs que d'écrire un outil pour cela.

 11
Author: Jacek Sieka, 2017-04-20 06:39:21