Téléchargé 4 fois
Vote des utilisateurs
0
0
Détails
Licence : GPL
Mise en ligne le 4 décembre 2017
Plate-formes :
Linux, Mac, Windows
Langue : Anglais
Référencé dans
Navigation
GCJ
GCJ
GCJ (GNU Compiler for Java) est le compilateur Java du projet GNU. C'est un logiciel libre qui fait partie intégrante de GNU Compiler Collection.
Contrairement au compilateur du SDK Java de Sun Microsystems, il est capable de produire du code natif pour l'architecture matérielle. GCJ est également capable de fonctionner comme un compilateur Java classique (code source Java vers du bytecode Java) ou de transformer du bytecode vers du code natif. La plupart des bibliothèques Java utilisées par GCJ viennent du projet GNU Classpath.
Contrairement au compilateur du SDK Java de Sun Microsystems, il est capable de produire du code natif pour l'architecture matérielle. GCJ est également capable de fonctionner comme un compilateur Java classique (code source Java vers du bytecode Java) ou de transformer du bytecode vers du code natif. La plupart des bibliothèques Java utilisées par GCJ viennent du projet GNU Classpath.
Je commence à m'intéresser à ce compilateur.
Je cherche le moyen de transformer un fichier .class contenant du bytecode en un autre fichier .class contenant du code natif.
Sais tu si c'est possible ?
Je cherche le moyen de transformer un fichier .class contenant du bytecode en un autre fichier .class contenant du code natif.
Sais tu si c'est possible ?
C'est pour faire de l'Ahead of time (AOT) compilation. C'est à dire de précompiler les class java (un peu comme pour le faire la compilation "Just In Time" (JIT) ).
J'ai besoin d'effectuer cela dans un contexte de Java temps réel.
En approfondissant mes recherche j'ai vu un utilitaire aot-compile fournis avec GCJ qui permetterai de faire ce que je cherche. Par contre je n'arrive pas a le faire fonctionner pour le moment.
J'ai besoin d'effectuer cela dans un contexte de Java temps réel.
En approfondissant mes recherche j'ai vu un utilitaire aot-compile fournis avec GCJ qui permetterai de faire ce que je cherche. Par contre je n'arrive pas a le faire fonctionner pour le moment.
Ben l'AOT consiste à générer un fichier binaire natif, donc plus de fichier .class mais un fichier dépendant du système. Donc il suffirait de compiler avec GCJ...
Maintenant pour du temps-réel il y a d'autres contraintes qui pourrait poser problème comme le GarbageCollector, mais je ne maitrise pas trop tout cela.
a++
Maintenant pour du temps-réel il y a d'autres contraintes qui pourrait poser problème comme le GarbageCollector, mais je ne maitrise pas trop tout cela.
a++
GCJ permet en effet de compiler l'application dans son ensemble pour générer une application. Le problème c'est que sur le projet sur lequel je travail, certaines contraintes m'empêche de compiler l'application dans son ensemble.
Certaine portion de code que je sais critique doivent être compilé afin de limiter les latences induite par l'interprétation du bytecode par la JVM.
Pour y arrivé j'ai pensé à l'AOT qui pour moi consistait à remplacer des classes contenant du bytecode par des classes contenant du code natif (et bien sur dépedant du système). Par ailleur, j'ai lu plusieurs article qui indiquait que cela était faisable. Je ne sais cependant toujours pas comment.
J'ai lu récement un article qui indique que l'utilitaire "javat" rend ce service pour des système IRIX.
Certaine portion de code que je sais critique doivent être compilé afin de limiter les latences induite par l'interprétation du bytecode par la JVM.
Pour y arrivé j'ai pensé à l'AOT qui pour moi consistait à remplacer des classes contenant du bytecode par des classes contenant du code natif (et bien sur dépedant du système). Par ailleur, j'ai lu plusieurs article qui indiquait que cela était faisable. Je ne sais cependant toujours pas comment.
J'ai lu récement un article qui indique que l'utilitaire "javat" rend ce service pour des système IRIX.
javat takes a Java .class file (the file that contains the byte code that implements the methods of a class), reads and converts the byte codes into native MIPS instructions and stores the translated code back into the .class file along with the byte code.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.