Résumé
Clang est un compilateur pour les langages de programmation C, C++ et Objective-C. Son interface de bas niveau utilise les bibliothèques LLVM pour la compilation. C'est un logiciel libre issu d'un projet de recherche universitaire et distribué selon les termes de la licence Open Source NCSA/Université de l'Illinois. Son but est de proposer une alternative à GCC. En 2005, Apple utilise LLVM dans de nombreux projets commerciaux, dont l'iOS SDK et Xcode 3.1. L'une de ces utilisations était un compilateur de code OpenGL pour Mac OS X qui convertit les appels aux fonctions OpenGL en instructions GPU pour des processeurs graphiques qui ne possédaient pas toutes les fonctionnalités requises. Cela a permis à Apple de supporter l'API OpenGL complète sur des ordinateurs utilisant des GPU Intel GMA, améliorant les performances sur ces machines. LLVM devait à l'origine être la base d'une nouvelle version de GCC, car GCC posait des problèmes à la fois aux développeurs de LLVM et à Apple. GCC est un large projet et son développement est complexe : comme un ancien développeur de GCC l'a dit et l'un des participants au Google Summer of Code commenta que Apple utilise énormément Objective-C, mais le front-end GCC de ce langage a une faible priorité pour les développeurs. De plus, GCC s'intègre mal à l'IDE d'Apple. Enfin, GCC est distribué sous licence GPL version 3, ce qui impose aux développeurs qui distribuent des extensions pour GCC ou des versions modifiées de celui-ci de publier leur code source, alors que LLVM utilise une licence de type BSD ce qui permet l'utilisation de son code dans un programme propriétaire. Apple a choisi de développer un nouveau compilateur ne supportant que C99, Objective C et C++. Le projet Clang a été rendu open-source en juillet 2007 Clang est conçu pour fonctionner avec LLVM. L'ensemble des deux fournit une chaîne de compilation permettant de remplacer entièrement GCC. Parce qu'il a été conçu sous forme de bibliothèque, tout comme le reste de LLVM, Clang est facilement utilisable dans d'autres applications comme dans Vim.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.