Guide pratique pour créer des projets C++ vérifiables (C++/CLI)

Les Assistants d’application Visual C++ ne créent pas de projets vérifiables.

Important

Visual Studio 2015 déprécié et Visual Studio 2017 ne prend pas en charge la création /clr :pure et /clr :safe de projets vérifiables. Si vous avez besoin d’un code vérifiable, nous vous recommandons de traduire votre code en C#.

Toutefois, si vous utilisez une version antérieure de l’ensemble d’outils du compilateur Microsoft C++ qui prend en charge /clr :pure et /clr :safe, les projets peuvent être convertis en vérifiables. Cette rubrique explique comment définir les propriétés du projet et modifier les fichiers sources du projet pour transformer vos projets Visual Studio C++ pour produire des applications vérifiables.

Paramètres du compilateur et de l’éditeur de liens

Par défaut, les projets .NET utilisent l’indicateur du compilateur /clr et configurent l’éditeur de liens pour cibler le matériel x86. Pour le code vérifiable, vous devez utiliser l’indicateur /clr :safe et vous devez indiquer à l’éditeur de liens de générer MSIL au lieu d’instructions de machine natives.

Pour modifier les paramètres du compilateur et de l’éditeur de liens

  1. Affichez la page de propriétés du projet. Pour plus d’informations, consultez Définir les propriétés du compilateur et de la génération.

  2. Dans la page Général sous le nœud Propriétés de configuration, définissez la propriété Common Language Runtime Support sur Safe MSIL Common Language Runtime Support (/clr :safe).

  3. Dans la page Avancé sous le nœud Éditeur de liens, définissez la propriété CLR Image Type sur Forcer l’image IL sécurisée (/CLRIMAGETYPE :SAFE).

Suppression des types de données natifs

Étant donné que les types de données natifs ne sont pas vérifiables, même s’ils ne sont pas réellement utilisés, vous devez supprimer tous les fichiers d’en-tête contenant des types natifs.

Remarque

La procédure suivante s’applique aux projets d’application Windows Forms (.NET) et d’application console (.NET).

Pour supprimer des références aux types de données natifs

  1. Commentez tout dans le fichier Stdafx.h.

Configuration d’un point d’entrée

Étant donné que les applications vérifiables ne peuvent pas utiliser les bibliothèques runtime C (CRT), elles ne peuvent pas dépendre du CRT pour appeler la fonction principale comme point d’entrée standard. Cela signifie que vous devez fournir explicitement le nom de la fonction à appeler initialement à l’éditeur de liens. (Dans ce cas, Main() est utilisé plutôt que main() ou _tmain() pour indiquer un point d’entrée non CRT, mais parce que le point d’entrée doit être spécifié explicitement, ce nom est arbitraire.)

Remarque

Les procédures suivantes s’appliquent aux projets d’application console (.NET).

Pour configurer un point d’entrée

  1. Remplacez _tmain() par Main() dans le fichier .cpp principal du projet.

  2. Affichez la page de propriétés du projet. Pour plus d’informations, consultez Définir les propriétés du compilateur et de la génération.

  3. Dans la page Avancé sous le nœud Éditeur de liens, entrez Main la valeur de la propriété Point d’entrée.

Voir aussi