208 votes

Quelle est la différence entre javac et le compilateur Eclipse ?

Est de compilateur de Java Eclipse juste un wrapper autour de la même base que le `` programme est enroulée autour, ou est-ce un compilateur distinct au total ? Si ce dernier, pourquoi ils seraient réinventer la roue ?

214voto

jjnguy Points 62123

Eclipse a mis en œuvre son propre compilateur appelé Compilateur Eclipse pour Java (CJCE).

Elle est différente de la javac, le compilateur qui est livré avec le JDK Sun. Une différence notable est que le compilateur Eclipse permet d'exécuter du code qui n'a pas fait de compiler correctement. Si le bloc de code avec l'erreur n'est jamais couru, votre programme va s'exécuter correctement. Sinon, il va lever une exception indiquant que vous avez essayé d'exécuter du code qui ne compile pas.

Une autre différence est que le compilateur Eclipse permet d'augmenter le construit à partir de l'intérieur de l'IDE Eclipse, qui est, tout le code est compilé dès que vous avez fini de taper.

Le fait qu'Eclipse est livré avec son propre compilateur est aussi évident, car vous pouvez écrire, compiler et exécuter le code Java dans Eclipse sans même d'installer le SDK Java.

Quelques exemples de cas où la CJCE est préféré au cours de javac est:

36voto

polygenelubricants Points 136838

Tout le monde a déjà expliqué qu'ils sont différents. Voici quelques différence dans les comportements que j'ai remarqué entre les deux compilateurs. Elles se résument toutes à un bug dans (au moins) l'un des implémentations.

Au moment de la compilation d'optimisation liés

Les génériques de type inferrence liées

18voto

Jesper Points 65733

Eclipse est intégrée dans le compilateur est basé sur IBM Jikes compilateur java. (Notez que Eclipse également commencé sa vie à IBM). Il est complètement indépendant de Soleil du compilateur Java dans le JDK; il n'est pas un wrapper autour du Soleil, javac.

Jikes a existé pendant une longue période, il a utilisé pour être beaucoup plus rapide que la norme JDK Java compilateur (mais je ne sais pas si c'est toujours vrai). Pourquoi IBM a voulu écrire leur propre compilateur Java: peut-être parce que des raisons de licence (ils ont aussi leur propre implémentation de Java).

15voto

BenM Points 2241

Il s’agit d’un compilateur séparé complètement. Ceci est nécessaire car javac n’autorise la compilation du code légèrement cassée, sur le site de l’eclipse

Un compilateur Java incrémentiel. Implémenté comme un générateur d’Eclipse, il repose sur la technologie a évolué de VisualAge de compilateur Java. En particulier, il permet d’exécuter et déboguer le code qui contient encore des erreurs non résolues.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X