Nouveautés de Visual C++ 2008

Mise à jour : novembre 2007

Cette rubrique présente les nouvelles fonctions et modifications disponibles dans cette version de Visual Studio 2008.

Environnement de développement intégré (IDE) de Visual C++

Terme

Définition

Les boîtes de dialogue créées dans les applications ATL, MFC et Win32 sont désormais conformes aux règles de style de Windows Vista.

Lorsque vous créez un projet à l'aide de Visual Studio 2008, toutes les boîtes de dialogue que vous insérez dans votre application seront conformes aux règles de style de Windows Vista. Si vous recompilez un projet que vous avez créé dans une version antérieure de Visual Studio, toutes les boîtes de dialogue existantes garderont la même apparence qu'auparavant. Pour plus d'informations sur l'insertion de boîtes de dialogue dans votre application, consultez Éditeur de boîtes de dialogue.

L'Assistant Projet ATL comprend désormais une option d'enregistrement de composants pour tous les utilisateurs.

À partir de Visual Studio 2008, les composants COM et les bibliothèques de types créés par l'Assistant Projet ATL seront enregistrés dans le nœud HKEY_CURRENT_USER du Registre, à moins que vous ne sélectionniez l'option d'enregistrement de composants pour tous les utilisateurs. Pour plus d'informations, consultez Paramètres de l'application, Assistant Projet ATL.

L'Assistant Projet ATL ne propose plus d'option permettant de créer des projets ATL attribués.

Depuis Visual Studio 2008, l'Assistant Projet ATL ne contient plus aucune option qui vous permet de modifier le statut attribué d'un nouveau projet. Tous les nouveaux projets ATL créés par l'Assistant ne sont désormais plus attribués.

L'écriture dans le Registre peut être redirigée.

Avec l'introduction de Windows Vista, l'écriture dans certaines zones du Registre nécessite l'exécution d'un programme en mode élevé. L'exécution permanente de Visual Studio en mode élevé n'est pas souhaitable. La redirection par utilisateur redirige automatiquement des écritures dans le Registre de l'entrée HKEY_CLASSES_ROOT vers HKEY_CURRENT_USER sans aucune modification de la programmation. Pour plus d'informations, consultez Pages de propriétés de l'Éditeur de liens.

Le concepteur de classes propose désormais une prise en charge limitée du code C++ natif.

Dans les versions antérieures de Visual Studio, le concepteur de classes ne prenait en charge que Visual C# et Visual Basic. Ainsi, les utilisateurs du langage C++ peuvent désormais utiliser le concepteur de classes, mais uniquement en mode lecture seule. Pour plus d'informations sur l'utilisation du concepteur de classes avec C++, consultez Utilisation du code Visual C++ dans le Concepteur de classes.

Bibliothèques Visual C++

Général

Terme

Définition

Les applications peuvent être liées à des versions spécifiques des bibliothèques Visual C++.

Une application dépend parfois des mises à jour qui ont été apportées aux bibliothèques Visual C++ après une publication. Dans ce cas, l'exécution de l'application sur un ordinateur sur lequel sont installées des versions antérieures des bibliothèques peut donner lieu à un comportement inattendu. Vous pouvez à présent lier une application à une version spécifique des bibliothèques afin qu'elle ne s'exécute pas sur un ordinateur disposant d'une version antérieure des bibliothèques. Pour plus d'informations, consultez Redistribution et liaison d'une application à des bibliothèques spécifiques.

Bibliothèque STL/CLR

Terme

Définition

Visual C++ inclut intègre la bibliothèque STL/CLR.

La bibliothèque STL/CLR est un package de la bibliothèque de modèles standard (STL), un sous-ensemble de la bibliothèque C++ standard, qui peut être utilisé avec C++ et le Common Language Runtime (CLR) de .NET Framework. Grâce à STL/CLR, vous pouvez désormais utiliser tous les conteneurs, itérateurs et algorithmes de STL dans un environnement managé.

Bibliothèque MFC

Terme

Définition

Windows Vista prend en charge les contrôles communs.

Plus de 150 méthodes dans 18 classes nouvelles ou existantes ont été ajoutées pour prendre en charge des fonctions dans Windows Vista ou pour améliorer les fonctions dans les classes MFC actuelles.

La nouvelle classe CNetAddressCtrl vous permet de saisir et de valider des noms DNS ou des adresses IPv4 et IPv6. La nouvelle classe CPagerCtrl simplifie l'utilisation du contrôle pager Windows. Enfin, la nouvelle classe CSplitButton simplifie l'utilisation du contrôle Splitbutton de Windows pour sélectionner une action par défaut ou facultative.

Bibliothèque de prise en charge C++

Terme

Définition

C++ présente la bibliothèque de marshaling.

La bibliothèque de marshaling offre un moyen simple et optimisé de marshaler des données entre des environnements managés et natifs. Elle offre une alternative aux approches plus complexes et moins efficaces, telles que l'utilisation de PInvoke. Pour plus d'informations, consultez Overview of Marshaling in C++.

ATL Server

Terme

Définition

ATL Server est diffusé comme un projet de code source partagé.

La majeure partie de la base de code ATL Server a été publiée en tant que projet de code source partagé sur CodePlex et n'est pas installée dans le cadre de Visual Studio 2008. Plusieurs fichiers associés à ATL Server ne font plus partie de Visual Studio. Pour obtenir la liste des fichiers supprimés, consultez Removed ATL Server Files.

Les classes de codage et de décodage de données des fonctions d'utilitaire et atlenc.h et les classes de atlutil.h et atlpath.h font désormais partie de la bibliothèque ATL.

Microsoft continuera à prendre en charge les versions d'ATL Server incluses dans les versions antérieures de Visual Studio tant que ces versions de Visual Studio sont prises en charge. CodePlex poursuivra le développement du code ATL Server comme un projet communautaire. Microsoft ne prend pas en charge une version CodePlex d'ATL Server.

Compilateur et Éditeur de liens Visual C++

Modifications du compilateur

Terme

Définition

Le compilateur prend en charge les générations incrémentielles gérées.

Lorsque vous spécifiez cette option, le compilateur ne recompilera pas le code en cas de modification d'un assembly référencé. Au lieu de cela, il exécutera une génération incrémentielle. Les fichiers sont recompilés uniquement si les modifications affectent le code dépendant. Pour plus d'informations, consultez Général, page de propriétés (Projet).

Les attributs associés à ATL Server ne sont plus pris en charge.

Le compilateur ne prend plus en charge plusieurs attributs qui étaient associés directement à ATL Server. Pour obtenir une liste complète des attributs supprimés, consultez Modifications avec rupture.

Le compilateur prend en charge la microarchitecture Intel Core.

Le compilateur contient le paramétrage de la microarchitecture Intel Core 2 pendant la génération du code. Par défaut, ce paramétrage est activé et ne peut pas être désactivé car il est également utile pour les processeurs Pentium 4 et d'autres processeurs.

Les intrinsèques prennent en charge les derniers processeurs AMD et Intel.

Plusieurs nouvelles instructions intrinsèques prennent en charge les fonctionnalités supérieures des processeurs AMD et Intel plus récents. Pour plus d'informations sur les nouveaux intrinsèques, consultez Supplemental Streaming SIMD Extensions 3 Instructions, Streaming SIMD Extensions 4 Instructions, SSE4a and Advanced Bit Manipulation Intrinsics, AES Intrinsics, _mm_clmulepi64_si128 et __rdtscp.

La fonction __cpuid est mise à jour.

Les fonctions __cpuid prennent désormais en charge plusieurs fonctions introduites dans les dernières révisions des processeurs AMD et Intel. L'intrinsèque __cpuidex est nouveau et regroupe davantage d'informations à partir des derniers processeurs.

L'option du compilateur /MP réduit la durée de génération totale.

L'option /MP permet de réduire considérablement la durée totale de compilation de plusieurs fichiers sources en créant plusieurs processus qui compilent les fichiers simultanément. Cette option est particulièrement utile sur les ordinateurs qui prennent en charge l'hyperthreading ou des processeurs ou des cœurs multiples.

L'option du compilateur /Wp64 et le mot clé __w64 sont désapprouvés.

L'option du compilateur /Wp64 et le mot clé __w64, qui détectent les problèmes de portabilité 64 bits, sont désapprouvés et seront éliminés dans une version ultérieure du compilateur. Au lieu de cette option du compilateur et de ce mot clé, utilisez un compilateur Visual C++ qui cible une plateforme 64 bits. Pour plus d'informations, consultez Programmation 64 bits avec Visual C++.

/Qfast_transcendentals

Génère le code incorporé pour les fonctions transcendantes. Pour plus d'informations, consultez /Qfast_transcendentals (Force Fast Transcendentals).

/Qimprecise_fwaits

Supprime les commandes internes fwait des blocs try lors de l'utilisation de l'option du compilateur /fp:except. Pour plus d'informations, consultez /Qimprecise_fwaits (Remove fwaits Inside Try Blocks).

Modifications de l'Éditeur de liens

Terme

Définition

Les informations du contrôle de compte utilisateur sont désormais incorporées dans des fichiers manifeste pour les exécutables par l'éditeur de liens Visual C++ (link.exe).

Cette fonction est activée par défaut. Pour plus d'informations, consultez Répercussions du contrôle de compte utilisateur sur votre application. Pour plus d'informations sur la désactivation de cette fonction ou la modification du comportement par défaut, consultez /MANIFESTUAC (Incorporer des informations sur le contrôle de compte d'utilisateur dans le manifeste).

L'éditeur de liens comporte désormais l'option /DYNAMICBASE qui permet d'activer la fonction de randomisation du format d'espace d'adresse de Windows Vista.

Cette option modifie l'en-tête d'un fichier exécutable pour indiquer si l'application doit être aléatoirement redéfinie au moment du chargement. Pour plus d'informations, consultez /DYNAMICBASE (Utiliser la randomisation du format d'espace d'adresse).

Exemples Visual C++

Nouveaux exemples pour Visual Studio 2008

Terme

Définition

CFileDialog, exemple : ordre d'enregistrement des événements

Crée une boîte de dialogue personnalisée qui indique les événements générés lorsque vous créez un CFileDialog.

CMNCTRL3, exemple : illustre les nouveaux contrôles MFC disponibles dans Visual Studio 2008

Indique quelques-uns des nouveaux contrôles disponibles avec MFC dans Windows Vista, dont le bouton de liaison de commande (CButton), le contrôle pager (CPagerCtrl), le bouton partagé (CSplitButton) et le contrôle d'adresse réseau (CNetAddressCtrl).

NETADDR, exemple : exemple de contrôle de vérification d'adresses réseau de Vista

Démontre l'utilisation du contrôle "Net Address Verifier" de Windows Vista.

StlClrLibrary, exemple : illustre les fonctions de STL/CLR

Présente quelques-unes des fonctions disponibles lors de l'utilisation de la bibliothèque STL/CLR.

Visual C++ Express

Additions à Visual C++ Express

Terme

Définition

Visual C++ Express inclut désormais le Kit de développement logiciel Windows

Les utilisateurs de Visual C++ Express peuvent désormais utiliser le Kit de développement logiciel Windows sans avoir à le télécharger et à l'installer séparément. Visual C++ Express intègre aussi désormais l'Assistant Projet Win32.

Rubriques connexes

Terme

Définition

Modifications avec rupture

Indique les modifications avec rupture dans Visual C++ 2008.

Portage et mise à niveau de programmes

Fournit des liens vers les informations concernant le portage depuis d'autres plateformes et la mise à niveau de versions antérieures de Visual C++.

Comment : mettre à niveau des projets de versions antérieures de Visual C++

Fournit des liens vers la mise à niveau de projets Visual C++ à partir de versions antérieures.

Voir aussi

Autres ressources

Mise en route de Visual C++

Modifications précédentes apportées au produit