55 votes

Comment C-- comparer à LLVM?

Après en avoir appris un peu de la façon dont LLVM de travail, je suis vraiment excité à propos de comment portable à faible niveau de code peut être généré et la façon modulaire, cette "chose" est construit.

Mais j'ai découvert aujourd'hui l'existence de C-- qui semble partager certains concepts avec LLVM.

Donc, je suis à la recherche de quelques informations de m'aider à comprendre les principales différences entre ces deux projets... et pourquoi les deux existent.

Pour moi LLVM ressemble un peu à l'ultime couteau de l'Armée Suisse pour l'infrastructure du compilateur, et C, l'air beaucoup moins avancée.

52voto

Prof. Falken Points 10242

Ils diffèrent dans la manière expressive le faible niveau de la machine type de système est.

La VERSION de la machine est assez expressif, mais la C-- machine met beaucoup de responsabilité sur la langue avant la fin, en citant le C-- FAQ: "tout simplement, C-- a pas de types de haut niveau,---il n'a même pas distinguer à virgule flottante variables à partir des variables de type entier. Ce modèle donne de l'extrémité avant un contrôle total de la représentation et système de type"

Aussi visuellement, ils ont l'air un lot différent. C-- ressemble beaucoup à C, LLVM ressemble beaucoup à de l'assembleur.

De façon pragmatique, LLVM a beaucoup plus dynamique maintenant. Il dispose d'un compilateur JIT, Apple est l'utilisation de la 3D pipeline choses et les gens l'utilisent pour se connecter à GCC et toutes sortes d'étranges et merveilleuses choses. Quelqu'un l'a appelé "presque ridiculement facile de travailler avec lui".

D'autre part C-- est beaucoup plus petit et probablement plus facile à comprendre. (J'imagine une personne normale avec un dévouement peut comprendre pleinement tous les aspects de celui-ci.)

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