IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

Visual C++ renforce son support des standards C++
Microsoft sort une Preview du compilateur avec des progrès pour C++11 et C++14

Le , par Hinault Romaric

91PARTAGES

1  2 
Microsoft veut rendre son compilateur Visual C++ conforme aux standards C++. En juillet dernier, la société avait dévoilé sa feuille de route pour la prise en charge de C99, C++11 et C++14 dans son environnement de développement.

La firme s’est engagée lors de l’événement GoingNative 2013, dédié au monde du C++, à publier des préversions CTP (customer technology preview) du compilateur C++ avec les évolutions dans la prise en charge de C++ 11 et C++ 14, avant intégration dans Visual Studio.


Conformément à cet engagement, Microsoft vient de publier une préversion du compilateur Visual C++, qui est disponible en téléchargement et apporte les caractéristiques C++11, C++14 et C++/CX suivantes :

  • les opérateurs de conversion explicite ;
  • les qualificatifs de référence sur les fonctions membres ;
  • les fonctions d’initialisation statiques locales ;
  • l’héritage des constructeurs ;
  • alignof/alignas ;
  • __func_ ;
  • Extended sizeof ;
  • constexpr (sauf pour les “member functions”) ;
  • noexcept (unconditional) ;
  • C++14 decltype(auto) ;
  • C++14 auto function return type deduction ;
  • a
  • C++14 generic lambdas


Le compilateur fonctionne uniquement avec Visual Studio 2013 ou sa version gratuite « Desktop Express ». Microsoft précise que c’est une préversion qui ne doit pas être utilisée dans un environnement de production.

Télécharger Visual C++ Compiler November 2013 CTP

Télécharger Visual Studio Express 2013 pour Windows Desktop

Source : blog MSDN

Et vous ?

Que pensez-vous de l’engagement de Microsoft à supporter les standards C++ ?

Utilisez-vous les outils de la société pour vos développements C++ ?

Quelles autres fonctionnalités de C++14 aimeriez-vous que Microsoft prenne en charge ?

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

Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 21/11/2013 à 20:08
Citation Envoyé par Markand Voir le message
Je pense plutôt qu'ils boudent le C.
Je pense qu'une entreprise agit généralement sur des avis plus sérieux et posés qu'une simple bouderie...
Citation Envoyé par Markand Voir le message

Ils disent vraiment ne pas vouloir implémenter le C99, mais à mon avis, le C99 est bien plus simple à implémenter que le C++11 et depuis 1999, je pense que s'ils l'avaient vraiment voulu, ils auraient pu le temps de l'implémenter.
Même s'il est plus simple, le coût d'implémentation n'est pas nul. Chaque fonctionnalité C en plus aurait été faite au détriment d'une fonctionnalité C++. Et ils voient bien plus d'intérêt dans le C++ que dans le C pour leur plate-forme.
Citation Envoyé par Markand Voir le message

Je pense qu'il est évident que C++ est plus adapté à une grosse application moderne, mais le C peut encore servir notamment à la programmation système et drivers.
Cette phrase peut se comprendre de deux manières :
- Le C++ est plus adapté que le C pour développer une grosse application. Je suis d'accord.
- C'est uniquement dans le domaine des grosses applications que le C++ est plus adapté que le C. Là, je ne suis pas d'accord. Même pour de la programmation système et driver, je privilégierais le C+++ au C (certainement en désactivant certains aspects, comme le RTTI ou les exceptions), si sur les plate-formes visées je dispose d'un compilateur C++ de qualité.
5  0 
Avatar de Médinoc
Expert éminent sénior https://www.developpez.com
Le 21/11/2013 à 12:16
Franchement si, je pense que C++ est mieux adapté que C pour ça.
Ne serait-ce que pour les destructeurs et tout ce qui en découle (pointeurs intelligents etc.). Plus une application grossit, plus il devient difficile d'en gérer la mémoire manuellement.
2  0 
Avatar de Markand
Membre éclairé https://www.developpez.com
Le 21/11/2013 à 8:30
Citation Envoyé par Médinoc Voir le message
Apparemment, ils n'ont pas le temps de tout faire.
Je pense plutôt qu'ils boudent le C. De toute façon c'est simple, par défaut VisualStudio ne propose que la création de fichier "C++ File". Il suffit de changer l'extension pour le compiler en C, mais IntelliSense n'en fait pas pour autant en surlignant toutes les lignes non compatible C++ telles que retour de malloc non casté, etc.

Ils disent vraiment ne pas vouloir implémenter le C99, mais à mon avis, le C99 est bien plus simple à implémenter que le C++11 et depuis 1999, je pense que s'ils l'avaient vraiment voulu, ils auraient pu le temps de l'implémenter.

Je pense juste que Microsoft oriente plutôt ces développeurs à utiliser C++ putôt que C. Je pense qu'il est évident que C++ est plus adapté à une grosse application moderne, mais le C peut encore servir notamment à la programmation système et drivers.
2  1 
Avatar de Markand
Membre éclairé https://www.developpez.com
Le 20/11/2013 à 16:52
Je ne comprends vraiment pas ce qu'ils ont envers C99 pour ne pas vouloir l'implémenter.
1  1 
Avatar de Markand
Membre éclairé https://www.developpez.com
Le 22/11/2013 à 8:11
Oui, c'est d'ailleurs ces deux seuls points qui me faisait pencher pour C plutôt que C++ pour les drivers juste à cause de ça. Je ne savais pas que désactiver les exceptions était possible. C'est quelque chose de standardisé ?
0  0 
Avatar de KsassPeuk
Membre confirmé https://www.developpez.com
Le 22/11/2013 à 10:30
En n'utilisant que du code noexcept, tu n'auras pas d'exception ^^ .
0  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 22/11/2013 à 18:11
Citation Envoyé par Markand Voir le message
Oui, c'est d'ailleurs ces deux seuls points qui me faisait pencher pour C plutôt que C++ pour les drivers juste à cause de ça. Je ne savais pas que désactiver les exceptions était possible. C'est quelque chose de standardisé ?
Je ne crois pas (je n'ai pas verifie) que la desactivation elle meme est definie par le standard, mais rien n'empeche une implementation (un compilateur) de fournir des options de desactivations.

A ce que je sache, tous les compilateurs actuels (et meme precedents) fournissent de tels options. Auparavant il y en avait meme qui ne fournissaient simplement pas ces features, parcequ'ils etaient designe pour des plateformes pour lesquels il n'y avait aucun interet.
0  0 
Avatar de germinolegrand
Membre expert https://www.developpez.com
Le 20/11/2013 à 12:37
Ils ont annoncé explicitement ne pas vouloir supporter le C99. Ce ne sont que des "client's feature requests" pour ce qu'ils ont fait.
Voir http://cpp.developpez.com/actu/64246...C-11-C-14-C99/ dans la vidéo source, c'est indiqué en haut à gauche des slides de présentation ("This is not an attempt to conform C99".
0  1 
Avatar de Médinoc
Expert éminent sénior https://www.developpez.com
Le 20/11/2013 à 17:28
Apparemment, ils n'ont pas le temps de tout faire.
0  1 
Avatar de Traroth2
Membre émérite https://www.developpez.com
Le 21/11/2013 à 11:59
Citation Envoyé par Markand Voir le message
Je pense qu'il est évident que C++ est plus adapté à une grosse application moderne
Non seulement ce n'est pas "évident", mais ce n'est pas vrai.
2  3