Fonctionnalités du compilateur dans Visual C++ 2005
Mise à jour : novembre 2007
Cette rubrique répertorie les nouvelles fonctionnalités dans le compilateur de Visual C++ 2005.
Remarque : |
---|
Le compilateur de Visual C++ ne peut s'exécuter que sur les systèmes d'exploitation suivants : Windows 2000, Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003. |
Notes
Le compilateur de Visual C++ 2005 contient les nouvelles fonctionnalités suivantes :
Le compilateur présente des changements majeurs dans cette version. Consultez Modifications avec rupture dans le compilateur Visual C++ 2005 pour plus d'informations.
64 bits natif et compilateurs croisés. Pour plus d'informations, consultez Options du compilateur et Conventions des logiciels x64.
L'option du compilateur /analyze (Analyse du code d'entreprise) a été ajoutée.
L'option /bigobj du compilateur a été ajoutée.
/clr:pure, /clr:safe et /clr:oldSyntax ont été ajoutés. Pour plus d'informations, consultez /clr (Compilation pour le Common Language Runtime).
Options du compilateur désapprouvées : un grand nombre d'options du compilateur ont été désapprouvées dans cette version ; consultez Options du compilateur désapprouvées dans Visual C++ 2005 pour plus d'informations.
Le mécanisme de double thunking dans le code /clr a été réduit ; voir Double médiateur (thunking) (C++) pour plus d'informations.
/EH (Modèle de gestion des exceptions) ou /EHs ne peut plus servir à intercepter une exception déclenchée par autre chose qu'une clause throw ; utiliser /EHa.
L'option du compilateur /errorReport (Signaler les erreurs internes du compilateur) a été ajoutée.
L'option du compilateur /favor (Optimiser pour x64) a été ajoutée.
L'option du compilateur /FA, /Fa (Fichier listing) a été ajoutée.
L'option du compilateur /FC (Chemin d'accès complet du fichier de code source dans les diagnostics) a été ajoutée.
L'option du compilateur /fp (Spécifier le comportement de virgule flottante) a été ajoutée.
L'option du compilateur /G (Optimiser pour le processeur), options a été ajoutée.
L'option du compilateur /G (Optimiser pour le processeur), options a été ajoutée.
Les options du compilateur /G3, /G4, /G5, /G6, /G7 et /GB ont été supprimées. Le compilateur utilise maintenant un " modèle fusionné " qui essaie de créer le meilleur fichier de sortie pour toutes les architectures.
/Gf a été supprimé. Utilisez /GF (Supprimer les doublons) à la place.
Toutefois, /GL (Optimisation de l'ensemble du programme) est désormais compatible avec /CLRHEADER. Pour plus d'informations, consultez /LTCG (Génération de code durant l'édition de liens).
/GR est désormais activé par défaut. Consultez /GR (Activer les informations de type au moment de l'exécution) pour plus d'informations.
/GS (Vérification de la sécurité de la mémoire tampon) fournit désormais une protection de sécurité pour les paramètres pointeurs vulnérables. /GS est maintenant activé par défaut. /GS est à présent également opérationnel sur les fonctions compilées en MSIL avec /clr (Compilation pour le Common Language Runtime).
L'option du compilateur /Homeparams (Copier les paramètres des registres vers la pile) a été ajoutée.
L'option du compilateur /hotpatch (Créer une image corrigeable en mémoire) a été ajoutée.
Les heuristiques de fonctions inline ont été mises à jour ; consultez inline, __inline, __forceinline et inline_depth pour plus d'informations
De nombreuses nouvelles fonctions intrinsèques ont été ajoutées et un grand nombre d'entre elles jusqu'ici non documentées sont maintenant documentées. Pour plus d'informations, consultez Alphabetical Listing of Intrinsic Functions.
Par défaut, tout appel à new qui échoue lèvera une exception. Pour plus d'informations, consultez The new and delete Operators.
Les options du compilateur /ML et /MLd ont été supprimées. Visual C++ ne prend plus en charge les bibliothèques CRT à un seul thread statiquement liées. Consultez C Run-Time Libraries pour plus d'informations.
Le compilateur implémentait la fonction d'optimisation de la valeur nommée de retour, activée lorsque vous compilez avec /O1, /O2 (Réduire la taille, augmenter la vitesse), /Og (Optimisations globales) et /Ox (Optimisation complète).
L'option /Oa du compilateur a été supprimée mais sera ignorée en mode silencieux ; utilisez les modificateurs noalias ou restrict__declspec pour spécifier la façon dont le compilateur effectue le crénelage.
L'option /Op du compilateur a été supprimée. Utilisez /fp (Spécifier le comportement de virgule flottante) à la place.
OpenMP est maintenant pris en charge par Visual C++. Pour plus d'informations, consultez OpenMP in Visual C++.
L'option du compilateur /openmp (Activer la prise en charge OpenMP 2.0) a été ajoutée.
L'option /Ow du compilateur a été supprimée mais sera ignorée en mode silencieux. Utilisez les modificateurs noalias, restrict ou __declspec pour spécifier la façon dont le compilateur effectue le crénelage.
/QI0f a été supprimé.
/QIfdiv a été supprimé.
L'option du compilateur /QIPF_B (Errata pour l'exécution pas à pas UC B) a été ajoutée.
L'option du compilateur /QIPF_C (Errata pour l'exécution pas à pas UC C) a été ajoutée.
L'option du compilateur /QIPF_fr32 (Ne pas utiliser les 96 registres de virgule flottante supérieurs) a été ajoutée.
L'option du compilateur /QIPF_noPIC (Générer du code dépendant de la position) a été ajoutée.
L'option du compilateur /QIPF_restrict_plabels (Supposer qu'aucune fonction n'a été créée au moment de l'exécution) a été ajoutée.
Prise en charge Unicode dans le compilateur et l'éditeur de liens
/vd (Désactiver les déplacements de construction) permet désormais d'utiliser l'dynamic_cast Operator sur un objet en cours de construction (/vd2)
L'option du compilateur /YX a été supprimée. Utilisez plutôt /Yc (Créer un fichier d'en-tête précompilé) ou /Yu (Utiliser un fichier d'en-tête précompilé). Si vous supprimez /YX de vos configurations de génération et si vous ne le remplacez par rien, les générations peuvent devenir plus rapides.
/Zc:forScope est désormais activé par défaut. Consultez /Zc:forScope (Forcer la conformité à la portée de la boucle for) pour plus d'informations.
/Zc:wchar_t est désormais activé par défaut. Consultez /Zc:wchar_t (wchar_t est un type natif) pour plus d'informations.
L'option du compilateur /Zd a été supprimée. Les informations de débogage de numéro de ligne uniquement ne sont plus prises en charge. Utilisez plutôt /Zi (consultez /Z7, /Zi, /ZI (Format des informations de débogage) pour plus d'informations).
/Zg n'est plus maintenant valide que sur les fichiers de code source C, et non sur les fichiers de code source C++. Consultez /Zg (Générer les prototypes de fonction) pour plus d'informations.
L'option du compilateur /Zx (Déboguer le code Itanium optimisé) a été ajoutée.
Voir aussi
Concepts
Nouveautés du compilateur, du langage et des outils dans Visual C++ 2005