Suggestions nécessaires: Convertisseur de code source Java vers C efficace [fermé]


J'ai googlé un peu mais je n'ai pas trouvé de bon convertisseur de code source Java en C.

Ma question est:

  1. Est-ce possible ?

  2. Existe-t-il un convertisseur Java vers C src fiable auquel vous pouvez penser et auquel je peux jeter un oeil?

Author: Kevin Guan, 2013-04-10

4 answers

C'est possible, mais extrêmement difficile - pour commencer, vous devrez intégrer un garbage collector avec votre source C. Il y a quelques projets qui tentent cela, par exemple Toba, mais ils ne sont pas fiables et ne sont plus maintenus. Habituellement, vous trouverez quelqu'un qui tente quelque chose comme ça dans son mémoire de maîtrise, après quoi il est rapidement abandonné.

Si vous faites cela pour essayer d'accélérer votre programme, alors ne le faites pas - Java est déjà assez rapide par rapport à nativement code compilé (bien qu'il ait tendance à utiliser un peu plus de mémoire), et votre code C traduit ne sera pas en mesure de tirer pleinement parti du langage C.

 0
Author: Zim-Zam O'Pootertoot, 2013-04-09 21:32:55

Use Java2C: Un traducteur de Java vers le langage C en particulier pour les applications en temps réel embarquées et rapides, y compris un système d'exécution javalike en C.

Http://sourceforge.net/projects/java2c/

 0
Author: Amir Saniyan, 2013-10-19 14:38:38

Vous pouvez également essayer XMLVM, qui ne convertit pas java source en C, mais le bytecode Java (ce qui, je crois, est beaucoup plus utile).

Vous pouvez regardez ici

 0
Author: Panayotis, 2014-09-29 00:17:26

Universal-transpiler peut traduire des programmes Java dans plusieurs autres langages de programmation, y compris C. Ce logiciel est encore expérimental, mais il est déjà capable de traduire un sous-ensemble de Java en C et plusieurs autres langages.

Par exemple, il s'agit d'une entrée possible en Java:

public static int add(int a, int b){
    int i = 0;
    System.out.println("hello");
    return a + b;
}

...et ceci est la sortie du traducteur en C:

int add(int a,int b){
    int i=0;
    printf("%s\n","hello");
    return a+b;
}
 0
Author: Anderson Green, 2017-11-20 23:09:32