Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft va intégrer le compilateur Clang dans une mise à jour de Visual C++
Qui est attendue en novembre 2015

Le , par Stéphane le calme

13PARTAGES

10  0 
Le mois dernier, Jim Springfield, architecte logiciel sur Visual C++ et employé chez Microsoft, a reconnu dans un billet de blog que le compilateur C/C++ de Microsoft est maintenant vieux. Selon lui, il existe dans le code source de ce dernier des commentaires qui datent de 1982, lorsque Microsoft commençait tout juste à travailler sur son propre projet de compilateur C. Il a donc partagé avec les développeurs des détails sur certaines étapes de la refonte du compilateur C/C++.

Microsoft a officiellement amorcé ce processus de refonte puisque l’entreprise a annoncé durant le CPPCon 2015 qu’elle va intégrer Clang, le compilateur open source pour les langages de programmation C, C++ et Objective C dont l’interface de bas niveau utilise les bibliothèques LLVM pour la compilation, dans une mise à jour de Visual C++ qui est attendue au courant du mois de novembre 2015.

Pour rappel, Visual Studio 2015 intègre déjà Clang pour les développements Android et iOS. Aussi, si vous voulez développer par exemple une application pour la plateforme Android, vous avez le choix entre GCC (GNU C++) ou la boîte à outils Clang. L’intégration à venir de Clang est différente dans la mesure où elle se sert de Clang pour compiler les applications Windows.

Visual C++ comprend plusieurs parties : l’environnement de développement intégré Visual Studio, le compilateur front-end qui génère un arbre syntaxique abstrait (AST) représentant le contenu du programme et un compilateur back-end qui va lire l’arbre syntaxique abstrait et générer le code exécutable.

Le compilateur front-end est appelé C1 et le compilateur back-end C2. Au sein de Microsoft, ce sont deux équipes différentes qui travaillent sur chacun de ces compilateurs.

La nouvelle intégration de Microsoft viendra remplacer C1 par Clang, même si C2 est toujours utilisé en compilation back-end. C’est Jim Radigan, le responsable de l’équipe Microsoft dédiée au compilateur back-end, qui a expliqué que Clang émettra une LLVM IR (Intermediate Representation) qui sera alors convertie dans une forme intermédiaire utilisée par le compilateur C2 que Radigan a décrit comme étant des tuples. Par la suite, la génération de code continue comme à l’accoutumée avec l’UTC (Universal Tuple Compiler) de C2.

L’objectif derrière la combinaison Clang / C2 pour Windows est d’améliorer le support du multiplateforme aussi bien pour les projets Microsoft que pour les développeurs tiers. Utiliser Clang comme compilateur front-end sur les plateformes Android, iOS et Windows 10 UWP (Universal Windows Platform) réduit considérablement la possibilité de bogues causés par les différences entre le C1 et Clang.

Les développeurs pourraient également bien accueillir Clang en raison de son meilleur respect des normes que Visual C++ aussi bien pour le C que pour le C++. Steve Carroll, Microsoft Engineering Manager de l’équipe front-end, a expliqué que tandis que le support des normes C99 et C11 est déjà beaucoup amélioré, la combinaison Clang / C2 va la compléter. Il a précisé que Microsoft n’abandonne pas le compilateur C1, mais va continuer de l’améliorer.

La version initiale mise à la disposition des développeurs de Clang / C2 sera bien entendu une préversion suivie par une mise à jour qui est prévue pour le mois de février 2016.

En plus d’apporter Clang / C2 à Visual C++, Microsoft a également modifié son approche des mises à jour afin de prendre entièrement en charge davantage de changements de fonctionnalités durant la durée de vie de Visual Studio 2015 au lieu de les garder en préversion en attendant les prochaines mises à jour majeures.

Microsoft compte également proposer une édition « Build Only » de Visual C++ qui viendra installer le compilateur et les outils pour lancer ses lignes de commandes sans l’environnement de développement intégré Visual Studio.


Source : YouTube

Voir Aussi :

L'équipe Visual C++ donne des détails sur certaines étapes de la refonte du compilateur C/C++

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 23/10/2015 à 5:44
Enfin une version ou l'on pourras installer le compilateur sans l'IDE ?
je prend ^^
0  0 
Avatar de Astraya
Membre expérimenté https://www.developpez.com
Le 23/10/2015 à 9:15
Ils ont tellement raison de prendre ce chemin! Il me manque plus que la possibilité de compile emscripten!
0  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 23/10/2015 à 11:24
On entend tellement de bonnes choses sur Clang que j'ai voulu l'essayer sur Windows, je n'ai pas réussi à le faire fonctionner sur Windows. J'ai lu sur internet qu'il y avait plein de problèmes avec Clang sur Windows. Peut-être que la Microsoft touch résoudra ce problème
0  0 
Avatar de boero-teyssier Greg
Nouveau membre du Club https://www.developpez.com
Le 23/10/2015 à 11:29
L’intégration de CLANG dans visual c++ est une très bonne idée car clang et le compilateur qui intégré le plus rapidement la totalité des norme c++ (premier compilateur full c++11) de plus Jim Radigan a fait une bonne présentation c'est vrais que sa serais cool de pouvoir avoir les 2 optimizer LLVM et UTC en même temps
0  0 
Avatar de Danny-k
Membre actif https://www.developpez.com
Le 23/10/2015 à 12:15
Citation Envoyé par boero-teyssier Greg Voir le message
L’intégration de CLANG dans visual c++ est une très bonne idée car clang et le compilateur qui intégré le plus rapidement la totalité des norme c++ (premier compilateur full c++11) de plus Jim Radigan a fait une bonne présentation c'est vrais que sa serais cool de pouvoir avoir les 2 optimizer LLVM et UTC en même temps
Bon je pinaille, mais le premier compilateur à intégrer la norme C++11 c'est GCC avec la 4.8.1, Clang est venue après (bon une semaine après).

Source : lien

Sinon, je trouve que c'est une bonne nouvelle pour Visual, car le compilo restait en retard sur certains points assez fâcheux, notamment sur le fait qu'il n'affiche toujours pas de warning sur les fonctions de la famille printf lorsque les paramètres ne correspondent pas aux codes de formatages.

Du genre

Code : Sélectionner tout
printf("%d", "hello");
Après je sais pas si ce genre de chose va être rectifié avec l'ajout de clang
0  0 
Avatar de boero-teyssier Greg
Nouveau membre du Club https://www.developpez.com
Le 23/10/2015 à 13:13
Citation Envoyé par Danny-k Voir le message
Bon je pinaille, mais le premier compilateur à intégrer la norme C++11 c'est GCC avec la 4.8.1, Clang est venue après (bon une semaine après).

Source : lien

Sinon, je trouve que c'est une bonne nouvelle pour Visual, car le compilo restait en retard sur certains points assez fâcheux, notamment sur le fait qu'il n'affiche toujours pas de warning sur les fonctions de la famille printf lorsque les paramètres ne correspondent pas aux codes de formatages.

Du genre

Code : Sélectionner tout
printf("%d", "hello");
Après je sais pas si ce genre de chose va être rectifié avec l'ajout de clang

Pour pinaillée comme tu dis j’ai dit full c++ 11 car la libstdc++ de GCC 4.8.1 ne contenait pas certains composants de la bibliothèque standard, telles les expressions rationnelles. La libc++ du projet LLVM était déjà complète avec LLVM 3.3 se qui en fait le premier compilateur à prendre en charge le standard C++11 dans sa totalité (langage + bibliothèque standard).

Citation Envoyé par Gugelhupf Voir le message
On entend tellement de bonnes choses sur Clang que j'ai voulu l'essayer sur Windows, je n'ai pas réussi à le faire fonctionner sur Windows. J'ai lu sur internet qu'il y avait plein de problèmes avec Clang sur Windows. Peut-être que la Microsoft touch résoudra ce problème
Si tu veux utiliser clang sous Windows tu peux regarder du coté d'embarcadero il l'on intégré en 32 et 64 bit dans leur IDE RadStudio 10 (depuis XE 6 pour le 64 bit)
0  0 
Avatar de CrankFlash
Membre régulier https://www.developpez.com
Le 23/10/2015 à 17:21
Très bonne nouvelle que cette intégration de Clang !

Par contre, c'est toujours mieux de citer ses sources :
http://www.theregister.co.uk/2015/10...sual_c_update/
0  0 
Avatar de cd090580
Membre actif https://www.developpez.com
Le 24/10/2015 à 22:26
Citation Envoyé par TiranusKBX Voir le message
Enfin une version ou l'on pourras installer le compilateur sans l'IDE ?
je prend ^^
c'est déjà le cas depuis longtemps en installant les "platform sdk".
1  1 
Avatar de RedGuff
Membre habitué https://www.developpez.com
Le 25/10/2015 à 3:11
"des commentaires qui date" : !
0  0 
Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 24/10/2015 à 23:41
Citation Envoyé par cd090580 Voir le message
c'est déjà le cas depuis longtemps en installant les "platform sdk".
avec tout ? je ne crois pas non !
0  1