Partager via


Pages de propriétés C/C++

Les pages de propriétés suivantes se trouvent sous Propriétés de configuration des propriétés>>du projet>C/C++ :

Propriétés générales C/C++

Autres répertoires Include

Spécifie un ou plusieurs répertoires à ajouter au chemin include. Séparez les répertoires par des points-virgules (';) s’il y en a plusieurs. Définit l’option du /I compilateur (Répertoires Include supplémentaires).

Répertoires #using supplémentaires

Spécifie un ou plusieurs répertoires à rechercher pour résoudre les noms passés à une #using directive. Séparez les répertoires par des points-virgules (';) s’il y en a plusieurs. Définit l’option du /AI compilateur.

Répertoires BMI supplémentaires

Spécifie un ou plusieurs répertoires à rechercher pour résoudre les noms passés à une import directive. Séparez les répertoires par des points-virgules (';) s’il y en a plusieurs. Définit l’option du /ifcSearchDir[path] compilateur.

Dépendances de module supplémentaires

Spécifie un ou plusieurs modules à utiliser pour résoudre les noms passés à une import directive. Séparez les répertoires par des points-virgules (';) s’il y en a plusieurs. Définit l’option du /reference compilateur.

Dépendances d’unité d’en-tête supplémentaires

Spécifie une ou plusieurs unités d’en-tête à utiliser pour résoudre les noms passés à une directive d’en-tête import . Séparez les répertoires par des points-virgules (';) s’il y en a plusieurs. Définit l’option du /headerUnit compilateur.

Rechercher des sources de dépendances de module

Lorsqu’il est défini sur Oui, le compilateur analyse toutes les sources C++, pas seulement les sources d’interface de module et d’unité d’en-tête, pour les dépendances des unités de module et d’en-tête. Le système de génération génère le graphique des dépendances complètes, ce qui garantit que tous les modules et unités d’en-tête importés sont générés avant de compiler les fichiers qui en dépendent. Lorsqu’il est combiné avec Translate Include en importations, tout fichier d’en-tête spécifié dans un header-units.json fichier dans le même répertoire que le fichier d’en-tête est compilé dans une unité d’en-tête.

Les fichiers qui ont l’extension .ixxet les fichiers qui ont leurs propriétés>de fichier C/C++>Compile As sont toujours analysés en tant que compilation en tant qu’unité d’en-tête C++ (/exportHeader).

Traduire les éléments inclus dans les importations

Lorsqu’il est défini sur Oui, le compilateur traite une #include directive comme une import directive si certaines conditions sont remplies : le fichier d’en-tête est spécifié dans un header-units.json fichier dans le même répertoire et une unité d’en-tête compilée (un .ifc fichier) est disponible pour le fichier d’en-tête. Sinon, le fichier d’en-tête est traité comme une normale #include. Le header-units.json fichier est utilisé pour générer des unités d’en-tête pour chacune #include sans duplication de symboles. Lorsqu’il est combiné à l’analyse des sources de dépendances de module, le compilateur recherche automatiquement tous les fichiers d’en-tête qui peuvent être compilés en unités d’en-tête. Cette propriété définit l’option du /translateInclude compilateur.

Format des informations de débogage

Indique le type d'informations de débogage générées par le compilateur. Cette propriété nécessite des paramètres compatibles de l’éditeur de liens. Définit /Z7les options du /ZI compilateur (/Ziformat d’informations de débogage).

Choices

  • Aucune : ne génère aucune information de débogage ; la compilation peut donc être plus rapide.
  • Compatible C7 : sélectionnez le type d’informations de débogage créées pour votre programme et indiquez si ces informations sont conservées dans des fichiers objet (.obj) ou dans une base de données de programme (PDB).
  • Base de données de programme : produit une base de données de programme (PDB) qui contient des informations de type et des informations de débogage symboliques à utiliser avec le débogueur. Les informations de débogage symboliques incluent les noms et les types de variables et de fonctions, ainsi que les numéros de ligne.
  • Program Database for Edit And Continue : produit une base de données de programme, comme décrit précédemment, dans un format qui prend en charge la fonctionnalité Modifier et Continuer .

Prise en charge du débogage de mon code uniquement

Ajoute du code de prise en charge pour l’activation du débogage Just My Code dans cette unité de compilation. Définit /JMC.

Prise en charge de Common Language RunTime

Utilisez le service runtime .NET. Ce commutateur n’est pas compatible avec d’autres commutateurs ; consultez la documentation sur la /clr famille de commutateurs pour plus d’informations.

Choices

  • Aucune prise en charge Common Language RunTime - Aucune prise en charge de Common Language RunTime
  • Prise en charge common Language RunTime : crée des métadonnées pour votre application qui peuvent être consommées par d’autres applications CLR. Permet également à votre application de consommer des types et des données dans les métadonnées d’autres composants CLR.
  • Prise en charge pure du langage commun MSIL - Produit un fichier de sortie MSIL uniquement sans code exécutable natif, même s’il peut contenir des types natifs compilés dans MSIL.
  • Prise en charge du runTime du langage commun MSIL sécurisé : produit un fichier de sortie MSIL uniquement (aucun code exécutable natif) et un fichier de sortie vérifiable.

Utiliser l’extension Windows Runtime

Utilisez les extensions de langages d’exécution Windows. Définit /ZW.

Supprimer la bannière de démarrage

Supprime l’affichage de la bannière d’authentification lorsque le compilateur démarre et affiche des messages d’information lors de la compilation.

Niveau d’avertissement

Sélectionnez la rigueur avec laquelle le compilateur doit traiter les erreurs de code. Définit /W0 - /W4.

Choices

  • Désactiver tous les avertissements : le niveau 0 désactive tous les avertissements.
  • Niveau 1 : le niveau 1 affiche des avertissements graves. Le niveau 1 est le niveau d’avertissement par défaut de la ligne de commande.
  • Niveau 2 : le niveau 2 affiche tous les avertissements de niveau 1 et les avertissements moins graves que le niveau 1.
  • Niveau 3 : le niveau 3 affiche tous les avertissements de niveau 2 et tous les autres avertissements recommandés à des fins de production.
  • Level4 - Niveau 4 affiche tous les avertissements de niveau 3 ainsi que les avertissements d’information, qui, dans la plupart des cas, peuvent être ignorés en toute sécurité.
  • EnableAllWarnings : active tous les avertissements, y compris ceux désactivés par défaut.

Considérer les avertissements comme des erreurs

Traite les avertissements du compilateur comme des erreurs. Pour un nouveau projet, il peut être préférable d’utiliser /WX dans chaque compilation. Résolvez tous les avertissements pour réduire les défauts de code difficiles à rechercher.

Version d’avertissement

Masquer les avertissements introduits après une version spécifique du compilateur. Définit /Wv:xx[.yy[.zzzzz]].

Diagnostics Format

Active les diagnostics enrichis, avec les informations de colonne et le contexte source dans les messages de diagnostic.

Choices

  • Caret : fournit des informations de colonne dans le message de diagnostic. Et génère la ligne de code source appropriée avec un signe de position qui indique la colonne incriminant.
  • Informations sur la colonne : fournit également le numéro de colonne dans la ligne où le diagnostic est émis, le cas échéant.
  • Classique : génère uniquement les messages de diagnostic concis précédents avec le numéro de ligne.

Vérifications SDL

Vérifications recommandées supplémentaires sur le cycle de vie du développement de la sécurité (SDL) ; inclut l’activation de fonctionnalités de génération de code sécurisée supplémentaires et active des avertissements supplémentaires pertinents pour la sécurité en tant qu’erreurs. Définit /sdl, /sdl-.

Compilation multiprocesseur

Activez la compilation multiprocesseur. Définit l’option du /MP compilateur.

Activer un assainisseur d’adresse

Compile et lie le programme à l’instrumentation AddressSanitizer. Cette propriété prend actuellement en charge les builds cibles x86 et x64. Définit l’option du /fsanitize compilateur.

Propriétés d’optimisation C/C++

Optimisation

Sélectionnez l’option pour l’optimisation du code ; choisissez Personnalisé pour utiliser des options d’optimisation spécifiques. Jeux /Od, /O1, /O2.

Choices

  • Personnalisé : optimisation personnalisée.
  • Désactivé : désactive l’optimisation.
  • Optimisation maximale (taille de faveur) - Équivalent à /Os /Oy /Ob2 /Gs /GF /Gy
  • Optimisation maximale (favoriser la vitesse) - Équivalent à /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • Optimisations (favoriser la vitesse) - Équivalent à /Oi /Ot /Oy /Ob2

Extension de fonction inline

Sélectionnez le niveau d’extension de fonction inline pour la build. Définit /Ob.

Choices

  • Par défaut
  • Désactivé : désactive l’extension inline, qui est activée par défaut.
  • Uniquement __inline : développe uniquement les fonctions marquées comme inline, __forceinlineou __inline. Ou, dans une fonction membre C++, définie dans une déclaration de classe.
  • Tout approprié : développe les fonctions marquées comme inline ou __inline toutes les autres fonctions choisies par le compilateur. (L’expansion se produit à la discrétion du compilateur, souvent appelée autoinlining.)

Activer les fonctions intrinsèques

Active les fonctions intrinsèques. L’utilisation de fonctions intrinsèques génère plus rapidement, mais peut-être du code plus grand. Définit /Oi.

Favoriser la taille ou la vitesse

Qu’il s’agisse de favoriser la taille du code ou la vitesse du code ; L’option « Optimisation globale » doit être activée. Définit /Ot, /Os.

Choices

  • Privilégiez le petit code : réduit la taille des EXEs et des DLL en demandant au compilateur de favoriser la taille par rapport à la vitesse.
  • Favoriser le code rapide : optimise la vitesse des EXEs et des DLL en demandant au compilateur de favoriser la vitesse par rapport à la taille. (Cette valeur est la valeur par défaut.)
  • Ni l’un ni l’autre : aucune optimisation de la taille et de la vitesse.

Omettre des pointeurs d’images

Empêche la création des pointeurs de frame sur la pile des appels.

Activer les optimisations fibre-safe

Active l’optimisation de l’espace mémoire lors de l’utilisation de fibres et d’un accès au stockage local de thread. Définit /GT.

Optimisation de l’ensemble du programme

Active les optimisations inter-modules en retardant la génération de code pour lier le temps. Nécessite l’option Éditeur de liens Génération de code de temps de liaison. Définit /GL.

Propriétés du préprocesseur C/C++

Définitions de préprocesseur

Définit les symboles de prétraitement pour votre fichier source.

Annuler la définition de définitions de préprocesseur

Spécifie l’annulation de la définition d’une ou de plusieurs définitions du préprocesseur. Définit /U.

Annulation de la définition de toutes les définitions du préprocesseur

Annule la définition de toutes les valeurs de préprocesseur précédemment définies. Définit /u.

Ignorer les chemins d’accès Include Standard

Empêche le compilateur de rechercher des fichiers include dans les répertoires spécifiés dans les variables d’environnement INCLUDE.

Prétraitement vers un fichier

Prétraite les fichiers sources C et C++ et écrit la sortie prétraite dans un fichier. Cette option supprime la compilation et ne produit pas de .obj fichier.

Prétraiter les numéros de ligne

Prétraitement sans directives #line.

Conserver les commentaires

Supprime la bande de commentaires du code source ; nécessite de définir au moins l’une des options de prétraitement . Définit /C.

Propriétés de génération de code C/C++

Activer le regroupement de chaînes

Le compilateur crée une seule copie en lecture seule de chaînes identiques dans l’image du programme. Cela entraîne des programmes plus petits, une optimisation appelée regroupement de chaînes. /O1, /O2et /ZI définissez /GF automatiquement l’option.

Activer la reconstruction minimale

Active une reconstruction minimale, qui détermine s’il faut recompiler les fichiers sources C++ qui incluent les définitions de classes C++ modifiées, stockées dans les fichiers d’en-tête .h .

Activer les exceptions C++

Spécifie le modèle de gestion des exceptions à utiliser par le compilateur.

Choices

  • Oui avec les exceptions SEH : modèle de gestion des exceptions qui intercepte les exceptions asynchrones (structurées) et synchrones (C++). Définit /EHa.
  • Oui : modèle de gestion des exceptions qui intercepte uniquement les exceptions C++ et indique au compilateur de supposer que les fonctions C extern ne lèvent jamais d’exception C++. Définit /EHsc.
  • Oui avec les fonctions Extern C : modèle de gestion des exceptions qui intercepte uniquement les exceptions C++ et indique au compilateur de supposer que les fonctions C extern lèvent une exception. Définit /EHs.
  • Non - Aucune gestion des exceptions.

Vérification de type plus petite

Activez la vérification de la conversion en types plus petits, incompatibles avec n’importe quel type d’optimisation autre que le débogage. Définit /RTCc.

Vérifications de base à l’exécution

Activez les vérifications d’erreur d’exécution de base, incompatibles avec tout type d’optimisation autre que le débogage. Jeux /RTCs, /RTCu, /RTC1.

Choices

  • Images de pile : active la vérification des erreurs d’exécution de l’image de pile.
  • Variables non initialisées : signale lorsqu’une variable est utilisée sans avoir été initialisée.
  • Les deux (/RTC1, équiv. à /RTCsu) - Équivalent de /RTCsu.
  • Valeur par défaut : vérifications du runtime par défaut .

Bibliothèque Runtime

Spécifiez la bibliothèque Runtime pour la liaison. Définit , , /MD/MTd, /MDd./MT

Choices

  • Multithread : provoque l’utilisation de la version statique multithread de la bibliothèque d’exécution.
  • Débogage multithread - Définit _DEBUG et _MT. Cette option entraîne également le fait que le compilateur place le nom LIBCMTD.lib de la bibliothèque dans le .obj fichier afin que l’éditeur de liens utilise LIBCMTD.lib pour résoudre les symboles externes.
  • DLL multithread - Provoque l’utilisation de la version multithread et DLL spécifique à votre application de la bibliothèque d’exécution. Définit _MT et _DLL provoque le fait que le compilateur place le nom de la bibliothèque MSVCRT.lib dans le .obj fichier.
  • DLL de débogage multithread - Définit _DEBUG, _MTet _DLL provoque l’utilisation de la version multithread multithread et DLL de votre application de la bibliothèque d’exécution. Il entraîne également le fait que le compilateur place le nom MSVCRTD.lib de la bibliothèque dans le .obj fichier.

Alignement des membres de struct

Spécifie les limites de 1, 2, 4 ou 8 octets pour l’alignement des membres du struct. Définit /Zp.

Choices

  • 1 Octet - Packs de structures sur des limites d’un octet. Comme pour /Zp.
  • 2 octets : packs de structures sur des limites à deux octets .
  • 4 octets : packs de structures sur des limites de quatre octets .
  • 8 octets : packs de structures sur des limites de huit octets (valeur par défaut).
  • 16 octets - Packs structures sur des limites de seize octets.
  • Valeur par défaut : paramètres d’alignement par défaut .

Vérification de la sécurité

La vérification de la sécurité permet de détecter les saturations de mémoire tampon de pile, une tentative courante d’attaque contre la sécurité d’un programme.

Choices

  • Désactiver la vérification de la sécurité : désactivez la vérification de la sécurité. Définit /GS-.
  • Activer la vérification de la sécurité : activez la vérification de la sécurité. Définit /GS.

Control Flow Guard

La vérification de sécurité guard permet de détecter les tentatives de distribution vers un bloc de code illégal.

Choices

  • Oui - Activer la vérification de sécurité avec les ensembles /guard:cfde gardes .
  • Aucun

Activer la liaison au niveau des fonctions

Permet au compilateur d’empaqueter des fonctions individuelles sous la forme de fonctions empaquetées (COMDATs). Requis avec l’option Modifier et Continuer. Définit /Gy.

Activer la génération de code parallèle

Permet au compilateur de générer du code parallèle pour les boucles identifiées à l’aide #pragma loop(hint_parallel[(n)]) de l’activation de l’optimisation.

Activer le jeu d’instructions amélioré

Activez l’utilisation d’instructions trouvées sur les processeurs qui prennent en charge les jeux d’instructions améliorés. Par exemple, les améliorations apportées à IA-32, SSE2, AVX et AVX2. Et les améliorations avX et AVX2 apportées à x64. Actuellement /arch:SSE et /arch:SSE2 sont disponibles uniquement lors de la génération pour l’architecture x86. Si aucune option n’est spécifiée, le compilateur utilise des instructions trouvées sur les processeurs qui prennent en charge SSE2. L’utilisation d’instructions améliorées peut être désactivée avec /arch:IA32. Pour plus d'informations, voir /arch (x86), /arch (x64), /arch (ARM64) et /arch (ARM).

Choices

  • Extensions SIMD de streaming - Extensions SIMD de streaming. Studios /arch:SSE
  • Streaming SIMD Extensions 2 - Streaming SIMD Extensions 2. Studios /arch:SSE2
  • Extensions vectorielles avancées - Extensions vectorielles avancées. Studios /arch:AVX
  • Extensions vectorielles avancées 2 - Extensions vectorielles avancées 2. Studios /arch:AVX2
  • Aucune instruction améliorée - Aucune instruction améliorée. Studios /arch:IA32
  • Non défini - Non défini .

Modèle à virgule flottante

Définit le modèle de virgule flottante. Jeux /fp:precise, /fp:strict, /fp:fast.

Choices

  • Précision : valeur par défaut. Améliore la cohérence des tests à virgule flottante pour l’égalité et l’inégalité.
  • Strict - Modèle à virgule flottante le plus strict. /fp:strict causes fp_contract d’être désactivés et fenv_access d’être activés. /fp:except est implicite et peut être désactivé en spécifiant /fp:except-explicitement . Lorsqu’elle est utilisée avec /fp:except-, /fp:strict applique une sémantique à virgule flottante stricte, mais sans respect des événements exceptionnels.
  • Rapide : crée le code le plus rapide dans la plupart des cas.

Activer les exceptions à virgule flottante

Modèle de virgule flottante fiable. Les exceptions sont levées immédiatement après leur déclenchement. Définit /fp:except.

Créer une image hotpatchable

Lorsque la mise à jour est activée, le compilateur garantit que la première instruction de chaque fonction est de deux octets, comme requis pour la mise à jour corrective à chaud. Définit /hotpatch.

Atténuation du spectre

Atténuations de Spectre pour CVE 2017-5753. Définit /Qspectre.

Choices

  • Activé - Activer la fonctionnalité d’atténuation de Spectre pour CVE 2017-5753
  • Désactivé : non défini.

Propriétés du langage C/C++

Désactiver les extensions de langage

Supprime ou active les extensions de langage. Définit /Za.

Traiter WChar_t comme type intégré

Lorsqu’il est spécifié, le type wchar_t devient un type natif auquel __wchar_t il est mappé de la même façon que celui short auquel __int16il est mappé . /Zc:wchar_t est activé par défaut.

Forcer la conformité dans l’étendue de boucle For

Implémente le comportement C++ standard pour les boucles d’instruction for avec les extensions Microsoft. Définit /Za, /Ze (Désactiver les extensions de langage. /Zc:forScope est activé par défaut.

Supprimer le code et les données non référencés

Lorsqu’il est spécifié, le compilateur ne génère plus d’informations de symboles pour le code et les données non référencés.

Appliquer les règles de conversion de type

Utilisé pour identifier un type de référence rvalue à la suite d’une opération de cast en fonction de la norme C++11.

Activer les informations de type au moment de l’exécution

Ajoute du code pour la vérification des types d’objets C++ au moment de l’exécution (informations sur le type d’exécution ou RTTI). Définit /GR, /GR-.

Ouvrir le support MP

Active les extensions de langage OpenMP 2.0. Définit /openmp.

Norme du langage C++

Détermine la norme de langage C++ que le compilateur active. La valeur par défaut ne définit pas d’option standard. Par conséquent, le compilateur utilise son paramètre C++14 par défaut. Si vous sélectionnez une valeur spécifique, l’option de compilateur correspondante /std est set.md).

Choices

  • Par défaut (ISO C++14 Standard)
  • Iso C++14 Standard (/std :c++14)
  • Iso C++17 Standard (/std :c++17)
  • Iso C++20 Standard (/std :c++20)
  • Préversion - Fonctionnalités du dernier brouillon de travail C++ (/std :c++latest)

Norme du langage C

Détermine la norme de langage C que le compilateur active. La valeur par défaut ne définit pas d’option standard. Par conséquent, le compilateur utilise son paramètre MSVC hérité par défaut. Si vous sélectionnez une valeur spécifique, l’option de compilateur correspondante /std est set.md).

Choices

  • Par défaut (MSVC hérité)
  • Norme ISO C11 (/std :c11)
  • ISO C17 (2018) Standard (/std :c17)

Mode de conformité

Active ou supprime le mode de conformité. Définit /permissive-.

Activer les modules de bibliothèque standard C++ expérimentaux

Prise en charge expérimentale des modules C++ TS et de la bibliothèque standard.

Générer des modules de bibliothèque ISO C++23 Standard

À compter de Visual Studio 17.6, lorsque cette propriété est activée et que C++ Language Standard est défini /std:c++latestsur , les projets Visual C++ recherchent et créent automatiquement des modules de bibliothèque standard ISO C++23. Cela vous import std permet ou import std.compat dans votre code C++.

Propriétés des en-têtes précompilés C/C++

Créer/utiliser un en-tête précompilé

Active la création ou l’utilisation d’un en-tête précompilé pendant la génération. Définit /Yc, /Yu.

Choices

  • Créer : indique au compilateur de créer un fichier d’en-tête précompilé (.pch) qui représente l’état de la compilation à un certain point.
  • Utiliser : indique au compilateur d’utiliser un fichier d’en-tête précompilé (.pch) existant dans la compilation actuelle.
  • Ne pas utiliser d’en-têtes précompilés : n’utilise pas d’en-têtes précompilés.

Fichier d’en-tête précompilé

Spécifie le nom du fichier d’en-tête à utiliser lors de la création ou de l’utilisation d’un fichier d’en-tête précompilé. Définit /Yc, /Yu.

Fichier de sortie d’en-tête précompilé

Spécifie le chemin d’accès ou le nom du fichier d’en-tête précompilé généré. Définit /Fp.

Propriétés des fichiers de sortie C/C++

Développer la source attribuée

Créez un fichier de référencement avec des attributs développés injectés dans le fichier source. Définit /Fx.

Sortie de l’assembleur

Spécifie le contenu du fichier de sortie linguistique de l’assembly. Définit , , /FAs/FAc, /FAcs./FA

Choices

  • Aucune description - Aucune description.
  • Liste d’assembly uniquement - Code d’assembly ; .asm
  • Assembly with Machine Code - Code d’ordinateur et code d’assembly ; .cod
  • Assembly avec code source - Code source et code d’assembly ; .asm
  • Assembly, Code machine et source - Assembly, code machine et code source ; .cod

Utiliser Unicode pour la description de l’assembleur

Provoque la création du fichier de sortie au format UTF-8.

Emplacement de la liste ASM

Spécifie le chemin d’accès relatif ou le nom du fichier de référencement ASM ; peut être un nom de fichier ou de répertoire. Définit /Fa.

Nom de fichier objet

Spécifie un nom de substitution pour le nom de fichier objet par défaut. Il peut s’agir d’un nom de fichier ou de répertoire. Définit /Fo.

Nom du fichier de base de données du programme

Spécifie un nom pour un fichier PDB généré par le compilateur ; spécifie également le nom de base du fichier IDB généré par le compilateur requis ; peut être un nom de fichier ou de répertoire. Définit /Fd.

Générer des fichiers de documentation XML

Spécifie que le compilateur doit générer des fichiers de commentaires de documentation XML (. XDC). Définit /doc.

Nom du fichier de documentation XML

Spécifie le nom des fichiers de documentation XML générés ; peut être un nom de fichier ou de répertoire. Définit le /doc:<nom.>

C/C++ Parcourir les propriétés d’informations

Activer Parcourir les informations

Spécifie le niveau d’informations de navigation dans le .bsc fichier. Définit /FR.

Parcourir le fichier d’informations

Spécifie le nom facultatif du fichier d’informations du navigateur. Définit le /FR<nom.>

Inclut des éléments externes

Traiter les fichiers inclus avec des crochets angle comme externes

Spécifie s’il faut traiter les fichiers inclus avec des crochets angle comme externes. Définissez cette propriété sur Oui pour définir l’option du /external:anglebrackets compilateur.

Niveau d’avertissement d’en-tête externe

Sélectionnez la manière dont vous souhaitez que le compilateur soit strict sur les erreurs de code dans les en-têtes externes. Cette propriété définit l’option du /external:Wn compilateur. Si cette valeur est définie sur Hériter du niveau d’avertissement du projet ou par défaut, d’autres /external options sont ignorées.

Diagnostics de modèle dans les en-têtes externes

Spécifie s’il faut évaluer le niveau d’avertissement sur une chaîne d’instanciation de modèle. Définissez cette propriété sur Oui pour définir l’option du /external:templates- compilateur.

Désactiver l’analyse du code pour les en-têtes externes

Désactive l’analyse du code pour les en-têtes externes. Définit l’option du /analyze:external- compilateur.

Ensemble de règles d’analyse pour les en-têtes externes

Spécifie un remplacement de jeu de règles d’analyse du code pour les en-têtes externes. S’il n’est pas spécifié, le paramètre Analyse du code est utilisé. Définit l’option du /analyze:external:ruleset path compilateur.

Propriétés avancées C/C++

Convention d’appel

Sélectionnez la convention d’appel par défaut pour votre application (peut être remplacée par fonction). Définit , , /Gz/Gr, /Gv./Gd

Choices

  • __cdecl - Spécifie la convention d’appel __cdecl pour toutes les fonctions, à l’exception des fonctions membres C++ marquées __stdcall ou __fastcall.
  • __fastcall - Spécifie la convention d’appel __fastcall pour toutes les fonctions, à l’exception des fonctions membres C++ marquées __cdecl ou __stdcall. Toutes les fonctions __fastcall doivent avoir des prototypes.
  • __stdcall - Spécifie la convention d’appel __stdcall pour toutes les fonctions, à l’exception des fonctions membres C++ marquées __cdecl ou __fastcall. Toutes les fonctions __stdcall doivent avoir des prototypes.
  • __vectorcall - Spécifie la convention d’appel __vectorcall pour toutes les fonctions, à l’exception des fonctions membres C++ marquées __cdecl, __fastcallou __stdcall. Toutes les fonctions __vectorcall doivent avoir des prototypes.

Compiler en

Sélectionnez l’option de langue de compilation pour les fichiers sources. Définit /TC, /TP/interface/internalPartition ou /exportHeader options.

Choices

  • Par défaut : option par défaut.
  • Compiler en tant que code C (/TC) : compilez les fichiers sources spécifiés en tant que code C. Par défaut, les fichiers avec une .c extension sont compilés en tant que C.
  • Compiler en tant que code C++ (/TP) : compilez les fichiers sources spécifiés en tant que code C++. Par défaut, tous les fichiers sources qui n’ont pas d’extension .c, .ixx.cppm.hou non sont compilés en C++.
  • Compiler en tant que code de module C++ (/interface) : compilez les fichiers sources spécifiés en tant que code de module C++. Par défaut, les fichiers avec une extension ou .cppm une .ixx extension sont compilés en tant que code de module C++.
  • Compiler en tant que partition interne du module C++ (/internalPartition) : compilez les fichiers sources spécifiés en tant que partition interne du module C++.
  • Compiler en tant qu’unité d’en-tête C++ (/exportHeader) : compilez les fichiers sources spécifiés en tant qu’unité d’en-tête C++. Par défaut, les fichiers avec une .h extension ou aucune extension sont compilés en tant qu’unités d’en-tête.

Désactiver des avertissements spécifiques

Désactivez les numéros d’avertissement spécifiés. Placez les numéros d’avertissement dans une liste délimitée par des points-virgules. Définit le /wd<nombre.>

Fichier Include forcé

un ou plusieurs fichiers Include forcés. Définit le /FI<nom.>

Fichier #using forcé

Spécifie un ou plusieurs fichiers #using forcés. Définit le /FU<nom.>

Affichage des fichiers Include

Affiche la liste des fichiers include avec les résultats de la compilation. Définit /showIncludes.

Utiliser des chemins complets

Utilisez des chemins complets dans les messages de diagnostic. Définit /FC.

Omettre le nom de la bibliothèque par défaut

N’inclut pas les noms de bibliothèque par défaut dans les .obj fichiers. Définit /Zl.

Rapport d’erreurs du compilateur interne

Remarque

Cette fonction est déconseillée. À compter de Windows Vista, le rapport d’erreurs est contrôlé par les paramètres de rapport d’erreurs Windows (WER ).

Traiter des avertissements spécifiques comme des erreurs

Traite l’avertissement spécifique du compilateur comme une erreur où n est un avertissement du compilateur.

Options supplémentaires

Options supplémentaires.