Partager via


VCCLCompilerTool, interface

L'objet VCCLCompilerTool expose les fonctionnalités des options du compilateur C++. Consultez Options du compilateur, pour plus d'informations sur les options du compilateur.

Espace de noms :  Microsoft.VisualStudio.VCProjectEngine
Assembly :  Microsoft.VisualStudio.VCProjectEngine (dans Microsoft.VisualStudio.VCProjectEngine.dll)

Syntaxe

'Déclaration
<GuidAttribute("3D6193F2-8B5D-4B0A-967F-7D163D918848")> _
Public Interface VCCLCompilerTool
[GuidAttribute("3D6193F2-8B5D-4B0A-967F-7D163D918848")]
public interface VCCLCompilerTool
[GuidAttribute(L"3D6193F2-8B5D-4B0A-967F-7D163D918848")]
public interface class VCCLCompilerTool
[<GuidAttribute("3D6193F2-8B5D-4B0A-967F-7D163D918848")>]
type VCCLCompilerTool =  interface end
public interface VCCLCompilerTool

Le type VCCLCompilerTool expose les membres suivants.

Propriétés

  Nom Description
Propriété publique AdditionalIncludeDirectories Obtient ou définit un ou plusieurs répertoires à ajouter au chemin d'accès Include.AdditionalIncludeDirectories expose les fonctionnalités de l'option /I (Autres répertoires Include) du compilateur, l'option Pages de propriétés MIDL : Général du compilateur MIDL, et l'option Pages de propriétés Ressources du compilateur de ressources.
Propriété publique AdditionalOptions Obtient ou définit des options à ajouter à la fin de la ligne de commande immédiatement avant le ou les noms de fichiers.Par exemple : lorsqu'une option n'est pas prise en charge dans le modèle d'objet.
Propriété publique AdditionalUsingDirectories Obtient ou définit un répertoire à explorer afin de résoudre les références de fichiers passées à la directive #using, directive (C++).AdditionalUsingDirectories expose les fonctions de l'option /AI (Spécifier les répertoires des métadonnées) du compilateur.
Propriété publique AssemblerListingLocation Obtient ou définit le chemin d'accès relatif et/ou le nom pour un fichier listing ASM.AssemblerListingLocation expose les fonctionnalités de l'option /Fa du compilateur.
Propriété publique AssemblerOutput Obtient ou définit le contenu du fichier de sortie en langage assembleur.AssemblerOutput expose les fonctionnalités des options /FA, /Fa (Fichier listing) du compilateur.
Propriété publique BasicRuntimeChecks Obtient ou définit une valeur indiquant s'il convient d'effectuer une vérification complète des erreurs au moment de l'exécution (/RTC (Vérifications des erreurs au moment de l'exécution)), une vérification de la validité du frame de pile au moment de l'exécution (/RTC (Vérifications des erreurs au moment de l'exécution)) et une vérification des variables non initialisées au moment de l'exécution (/RTC (Vérifications des erreurs au moment de l'exécution)).
Propriété publique BrowseInformation Spécifie le niveau d'parcourt les informations dans le fichier .bsc.BrowseInformation expose les fonctionnalités des options /FR, /Fr (Créer un fichier .sbr) du compilateur.
Propriété publique BrowseInformationFile Obtient ou définit le nom facultatif du fichier d'informations du navigateur.BrowseInformationFile expose les fonctionnalités des options /FR, /Fr (Créer un fichier .sbr) du compilateur.
Propriété publique BufferSecurityCheck Obtient ou définit une valeur indiquant s'il faut rechercher les dépassements de mémoire tampon.BufferSecurityCheck expose les fonctions de l'option /GS (Vérification de la sécurité de la mémoire tampon) du compilateur.
Propriété publique CallingConvention Obtient ou définit la convention d'appel par défaut pour votre application.CallingConvention expose les fonctionnalités des options /Gd, /Gr, /Gv, /Gz (Convention d'appel) du compilateur.
Propriété publique CompileAs Sélectionne l'option de langage de compilation pour les fichiers .c et .cpp.CompileAs expose les fonctionnalités des options /Tc, /Tp, /TC, /TP (Spécifier le type de fichier source) du compilateur.
Propriété publique CompileAsManaged Obtient ou définit une valeur indiquant les options du compilateur.
Propriété publique CompileOnly Obtient ou définit une valeur indiquant s'il faut compiler sans liaison ou non.
Propriété publique DebugInformationFormat Obtient ou définit le type d'informations de débogage générées par le compilateur.DebugInformationFormat expose les fonctionnalités des options /Z7, /Zi, /ZI (Format des informations de débogage) du compilateur.
Propriété publique DefaultCharIsUnsigned Obtient ou définit le type de caractère par défaut non signé.DefaultCharIsUnsigned expose les fonctions de l'option /J (Type de caractère par défaut non signé) du compilateur.
Propriété publique Detect64BitPortabilityProblems Obtient ou définit une valeur indiquant si le compilateur doit rechercher les problèmes de portabilité 64 bits.Detect64BitPortabilityProblems expose les fonctions de l'option /Wp64 (Détecter les problèmes de portabilité 64 bits) du compilateur.
Propriété publique DisableLanguageExtensions Obtient ou définit une valeur indiquant s'il faut supprimer les extensions de langage.DisableLanguageExtensions expose les fonctions de l'option /Za, /Ze (Désactiver les extensions de langage) du compilateur.
Propriété publique DisableSpecificWarnings Obtient ou définit une valeur qui désactive les numéros d'avertissement désirés ; place des nombres dans une liste délimitée par des points-virgules.DisableSpecificWarnings expose les fonctions de l'option /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Niveau d'avertissement) du compilateur.
Propriété publique EnableEnhancedInstructionSet Obtient ou définit une valeur qui active l'utilisation des instructions trouvées dans les processeurs qui prennent en charge les jeux d'instructions améliorés, par exemple les améliorations SSE et SSE2 apportées à IA-32.EnableEnhancedInstructionSet expose les fonctions de l'option /ARCH du compilateur.
Propriété publique EnableFiberSafeOptimizations Obtient ou définit une valeur qui active l'optimisation de l'espace mémoire en cas d'utilisation de fibres et l'accès au stockage local des threads.EnableFiberSafeOptimizations expose les fonctions de l'option /GT (Prendre en charge le stockage local des threads avec fibres sécurisées) du compilateur.
Propriété publique EnableFunctionLevelLinking Obtient ou définit une valeur qui active la liaison au niveau des fonctions.EnableFunctionLevelLinking expose les fonctions de l'option /Gy (Activer la liaison au niveau des fonctions) du compilateur.
Propriété publique EnableIntrinsicFunctions Obtient ou définit une valeur indiquant s'il faut utiliser des fonctions intrinsèques afin de produire un code plus rapide, mais éventuellement plus grand.EnableIntrinsicFunctions expose les fonctions de l'option /Oi (Générer des fonctions intrinsèques) du compilateur.
Propriété publique EnablePREfast Obtient ou définit une valeur indiquant si l'analyse du code natif est activée.
Propriété publique ErrorReporting Obtient ou définit le rapport d'erreurs du compilateur.
Propriété publique ExceptionHandling Obtient ou définit une valeur utilisée pour les appels aux destructeurs des objets automatiques au cours d'un désempilage engendré par la levée d'une exception.ExceptionHandling expose les fonctions de l'option /EH (Modèle de gestion des exceptions) du compilateur.
Propriété publique ExecutionBucket Infrastructure. Réservé à un usage interne Microsoft.
Propriété publique ExpandAttributedSource Obtient ou définit une valeur indiquant s'il faut créer un fichier listing avec attributs développés injectés dans le fichier source.ExpandAttributedSource expose les fonctions de l'option /Fx (Fusionner le code injecté) du compilateur.
Propriété publique FavorSizeOrSpeed Obtient ou définit une valeur indiquant s'il faut privilégier la taille de codage ou la vitesse de codage.FavorSizeOrSpeed expose les fonctionnalités des options /Os, /Ot (Favoriser la taille du code, Favoriser la vitesse du code) du compilateur.
Propriété publique FloatingPointExceptions Définit ou obtient une valeur indiquant si la gestion des exceptions de virgule flottante définie par l'utilisateur est activée.
Propriété publique floatingPointModel Définit ou obtient le modèle de virgule flottante.
Propriété publique ForceConformanceInForLoopScope Obtient ou définit une valeur indiquant s'il faut forcer le compilateur à se conformer à la portée locale dans une boucle For.ForceConformanceInForLoopScope expose les fonctions de l'option /Zc:forScope (Forcer la conformité à la portée de la boucle for) du compilateur.
Propriété publique ForcedIncludeFiles Obtient ou définit une valeur qui spécifie un ou plusieurs fichiers Include forcés.ForcedIncludeFiles expose les fonctions de l'option /FI (Nom du fichier Include imposé) du compilateur.
Propriété publique ForcedUsingFiles Impose l'utilisation d'un nom de fichier, comme s'il avait été passé à la directive #using, directive (C++).ForcedUsingFiles expose les fonctions de l'option /FU (Nom du fichier #using imposé) du compilateur.
Propriété publique FullIncludePath Obtient une liste de tous les répertoires inclus dans la génération ; une concaténation de répertoires spécifiés avec /I et de répertoires spécifiés dans la boîte de dialogue Répertoires VC++ (VC++ Directories).Les macros présentes dans ces répertoires seront également évaluées.
Propriété publique GeneratePreprocessedFile Obtient ou définit l'option de prétraitement pour cette configuration.GeneratePreprocessedFile expose les fonctionnalités des options /EP (Prétraiter dans stdout sans directive #line) et /P (Prétraiter jusqu'à un fichier) du compilateur.
Propriété publique GenerateXMLDocumentationFiles Définit ou obtient une valeur indiquant si des fichiers de documentation XML sont générés ou non.
Propriété publique IgnoreStandardIncludePath Obtient ou définit une valeur qui indique s'il faut ignorer le chemin d'accès Include standard.IgnoreStandardIncludePath expose les fonctionnalités de l'option /X (Ignorer les chemins d'accès Include standard) du compilateur, l'option Pages de propriétés MIDL : Général du compilateur MIDL, et l'option Pages de propriétés Ressources du compilateur de ressources.
Propriété publique InlineFunctionExpansion Obtient ou définit le niveau d'expansion des fonctions inline de build.InlineFunctionExpansion expose les fonctionnalités des options /Ob (Expansion des fonctions Inline) du compilateur.
Propriété publique KeepComments Obtient ou définit une valeur indiquant s'il faut supprimer les commentaires du code source.KeepComments expose les fonctions de l'option /C (Conserver les commentaires pendant le prétraitement) du compilateur.
Propriété publique MinimalRebuild Obtient ou définit une valeur indiquant s'il faut détecter les modifications apportées aux définitions de classe C++ et recompiler les fichiers sources affectés.MinimalRebuild expose les fonctions de l'option /Gm (Activer la régénération minimale) du compilateur.
Propriété publique ObjectFile Obtient ou définit un nom de substitution pour le nom de fichier objet par défaut.ObjectFile expose les fonctions de l'option /Fo (Nom de fichier objet) du compilateur.
Propriété publique OmitDefaultLibName Obtient ou définit une valeur indiquant si le nom de bibliothèque par défaut est omis.
Propriété publique OmitFramePointers Obtient ou définit une valeur indiquant si les pointeurs de frame doivent être supprimés.OmitFramePointers expose les fonctions de l'option /Oy (Omission du pointeur frame) du compilateur.
Propriété publique OpenMP Obtient ou définit une valeur indiquant si OpenMP est activé.
Propriété publique Optimization Obtient ou définit les options pour l'optimisation du code.Optimization expose les fonctionnalités des options /Od (Désactiver (Débogage)), /O1, /O2 (Réduire la taille, augmenter la vitesse) et /Ox (Optimisation complète) du compilateur.
Propriété publique PrecompiledHeaderFile Obtient ou définit le chemin d'accès et/ou le nom du fichier d'en-tête précompilé généré.PrecompiledHeaderFile expose les fonctions de l'option /Fp (Nom de fichier .pch) du compilateur.
Propriété publique PrecompiledHeaderThrough Obtient ou définit le nom de fichier d'en-tête à utiliser lors de la création ou de l'utilisation d'un fichier d'en-tête précompilé.PrecompiledHeaderThrough expose les fonctionnalités des options /Yc (Créer un fichier d'en-tête précompilé) et /Yu (Utiliser un fichier d'en-tête précompilé) du compilateur.
Propriété publique PreprocessorDefinitions Obtient ou définit une ou plusieurs définitions de préprocesseur.PreprocessorDefinitions expose les fonctionnalités de l'option /D (Définitions de préprocesseur) du compilateur, l'option Pages de propriétés MIDL : Général du compilateur MIDL, et l'option Pages de propriétés Ressources du compilateur de ressources.
Propriété publique ProgramDataBaseFileName Obtient ou définit un nom pour un fichier .pdb généré par le compilateur et nom de base pour le fichier .idb requis, généré par le compilateur.ProgramDataBaseFileName expose les fonctions de l'option /Fd (Nom de fichier PDB) du compilateur.
Propriété publique RuntimeLibrary Obtient ou définit la bibliothèque runtime pour la liaison.RuntimeLibrary expose les fonctionnalités des options /MD, /MT, /LD (Utiliser la bibliothèque Runtime) du compilateur.
Propriété publique RuntimeTypeInfo Obtient ou définit une valeur indiquant s'il faut ajouter le code pour la vérification des types d'objet C++ au moment de l'exécution (informations de type au moment de l'exécution).RuntimeTypeInfo expose les fonctions de l'option /GR (Activer les informations de type au moment de l'exécution) du compilateur.
Propriété publique ShowIncludes Obtient ou définit une valeur indiquant s'il faut générer une liste des fichiers Include avec les résultats de la compilation.ShowIncludes expose les fonctions de l'option /showIncludes (Liste des fichiers Include) du compilateur.
Propriété publique SmallerTypeCheck Obtient ou définit une valeur indiquant s'il faut activer la conversion des types les plus petits.SmallerTypeCheck expose les fonctions de l'option /RTC (Vérifications des erreurs au moment de l'exécution) du compilateur.
Propriété publique StringPooling Obtient ou définit une valeur indiquant s'il faut activer le regroupement des chaînes en lecture seule afin de générer un code compilé plus compact.StringPooling expose les fonctions de l'option /GF (Supprimer les doublons) du compilateur.
Propriété publique StructMemberAlignment Spécifie des limites de 1-, 2-, 4-, 8- ou 16 octets pour l'alignement des membres de la structure.StructMemberAlignment expose les fonctionnalités de l'option /Zp (Alignement des membres de la structure) du compilateur C++ et l'option Pages de propriétés MIDL : Avancé du compilateur MIDL.
Propriété publique SuppressStartupBanner Supprimer l'affichage de la bannière de démarrage et des messages d'information.
Propriété publique ToolKind Obtient le nom du genre d'outil.
Propriété publique toolName Obtient le nom de l'outil spécifié.
Propriété publique ToolPath Obtient le chemin d'accès à l'outil spécifié.
Propriété publique TreatWChar_tAsBuiltInType Obtient ou définit une valeur indiquant s'il faut considérer wchar_t comme un type intégré.TreatWChar_tAsBuiltInType expose les fonctions de l'option /Zc:wchar_t (wchar_t est un type natif) du compilateur.
Propriété publique UndefineAllPreprocessorDefinitions Obtient ou définit une valeur indiquant s'il faut annuler toutes les valeurs de préprocesseur précédemment définies.UndefineAllPreprocessorDefinitions expose les fonctions de l'option /U, /u (Annuler la définition de symboles) du compilateur.
Propriété publique UndefinePreprocessorDefinitions Obtient ou définit une valeur qui spécifie un ou plusieurs préprocesseurs non définis.UndefinePreprocessorDefinitions expose les fonctionnalités de l'option /U, /u (Annuler la définition de symboles) du compilateur C++ et l'option Pages de propriétés MIDL : Avancé du compilateur MIDL.
Propriété publique UseFullPaths Obtient ou définit une valeur indiquant s'il faut utiliser des chemins d'accès complets.
Propriété publique UsePrecompiledHeader Obtient ou définit une valeur qui active la création ou l'utilisation d'un en-tête précompilé pendant la génération.UsePrecompiledHeader expose les fonctionnalités des options /Yc (Créer un fichier d'en-tête précompilé) et /Yu (Utiliser un fichier d'en-tête précompilé) du compilateur.
Propriété publique UseUnicodeResponseFiles Définit si le compilateur utilise des fichiers réponse Unicode, ou pas.
Propriété publique VCProjectEngine Obtient un pointeur vers le moteur de projet.
Propriété publique WarnAsError Obtient ou définit une valeur indiquant si le compilateur doit traiter tous les avertissements comme des erreurs.WarnAsError expose les fonctionnalités de l'option /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Niveau d'avertissement) du compilateur C++ et l'option Pages de propriétés MIDL : Général du compilateur MIDL.
Propriété publique WarningLevel Obtient ou définit une valeur qui représente la rigueur avec laquelle le compilateur vérifie les constructions potentiellement suspectes.WarningLevel expose les fonctionnalités de l'option /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Niveau d'avertissement) du compilateur C++ et l'option /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Niveau d'avertissement) du compilateur MIDL.
Propriété publique WholeProgramOptimization Obtient ou définit une valeur indiquant s'il faut activer les optimisations entre modules en différant la génération du code pour qu'elle se produise au moment de la liaison.WholeProgramOptimization expose les fonctions de l'option /GL (Optimisation de l'ensemble du programme) du compilateur.
Propriété publique XMLDocumentationFileName Obtient ou définit le nom de fichier de documentation XML.

Début

Méthodes

  Nom Description
Méthode publique get_PropertyOption Infrastructure. Réservé à un usage interne Microsoft.

Début

Notes

Les nouvelles options de compilateur suivantes ont été ajoutées dans Visual Studio 2005:

Les options de compilateur suivantes ont été supprimées dans Visual Studio 2005:

  • /Op

  • /G6, /G7, et /GB

Exemples

L'exemple suivant montre comment utiliser les propriétés d'EnablePREfast et AdditionalOptions pour définir le commutateur d'/analyze:WX-. (Les deux propriétés sont obligatoires pour procéder.) La spécification de /analyze:WX- signifie que les avertissements d'analyse du code ne seront pas traités comme des erreurs lorsque vous compilez avec /WX. Pour plus d'informations, consultez /analyze (analyse de code).

Pour exécuter cet exemple, entrez et exécutez cet exemple comme décrit dans Comment : compiler et exécuter les exemples de code du modèle objet Automation. Ensuite, dans la nouvelle instance d'Visual Studio, chargez un projet d'Visual C++ et utiliser le Gestionnaire de compléments pour activer le complément.

' Add reference to Microsoft.VisualStudio.VCProjectEngine.
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualStudio.VCProjectEngine
Imports System.Text

Sub EnablePREfastExample(ByVal dte As DTE2)
    Dim prj As VCProject
    Dim cfgs, tools As IVCCollection
    Dim cfg As VCConfiguration
    Dim tool As VCCLCompilerTool
    Dim sb As New StringBuilder

    prj = CType(dte.Solution.Projects.Item(1).Object, _
      Microsoft.VisualStudio.VCProjectEngine.VCProject)
    cfgs = CType(prj.Configurations, _
      Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
    cfg = CType(cfgs.Item(1), _
      Microsoft.VisualStudio.VCProjectEngine.VCConfiguration)
    tool = CType(cfg.Tools("VCCLCompilerTool"), _
      Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool)

    sb.Length = 0
    sb.Append("Current project PREfast setting: " _
      & tool.EnablePREfast & Environment.NewLine)
    sb.Append("Flag: " & tool.AdditionalOptions)
    MsgBox(sb.ToString)

    ' Toggle PREfast setting.
    If Not (tool.EnablePREfast = True) Then
        ' PREfast is not enabled. Turn it and the WX- flag on.
        tool.EnablePREfast = True
        tool.AdditionalOptions = "/analyze:WX-"
    Else
        ' Toggle the opposite.
        tool.EnablePREfast = False
        tool.AdditionalOptions = "/analyze:WX"
    End If
    sb.Length = 0
    sb.Append("New project PREfast setting: " _
      & tool.EnablePREfast & Environment.NewLine)
    sb.Append("Flag: " & tool.AdditionalOptions)
    MsgBox(sb.ToString)
End Sub
// Add references to Microsoft.VisualStudio.VCProjectEngine and 
// System.Windows.Forms.
using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using Microsoft.VisualStudio.VCProjectEngine;
using System.Text;
using System.Windows.Forms;

public void EnablePREfastExample(DTE2 dte)
{
    try
    {
        VCProject prj;
        IVCCollection cfgs, tools;
        VCConfiguration cfg;
        VCCLCompilerTool tool;
        StringBuilder sb = new StringBuilder();

        prj = (Microsoft.VisualStudio.VCProjectEngine.VCProject)
          dte.Solution.Projects.Item(1).Object;
        cfgs = 
          (Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
          prj.Configurations;
        cfg = 
          (Microsoft.VisualStudio.VCProjectEngine.VCConfiguration)
           cfgs.Item(1);
        tools = 
          (Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
          cfg.Tools;
        tool = 
          (Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool)
          tools.Item("VCCLCompilerTool");
                                
        sb.Length = 0;
        sb.Append("Current project PREfast setting: " +
          tool.EnablePREfast + Environment.NewLine);
        sb.Append("Flag: " + tool.AdditionalOptions);
        MessageBox.Show(sb.ToString());

        // Toggle PREfast setting.
        if (!(tool.EnablePREfast == true))
        {
            // PREfast is not enabled. Turn it and the WX- flag on.
            tool.EnablePREfast = true;
            tool.AdditionalOptions = "/analyze:WX-";
        }
        else
        {
            // Toggle the opposite.
            tool.EnablePREfast = false;
            tool.AdditionalOptions = "/analyze:WX";
        }
        sb.Length = 0;
        sb.Append("New project PREfast setting: " +
          tool.EnablePREfast + Environment.NewLine);
        sb.Append("Flag: " + tool.AdditionalOptions);
        MessageBox.Show(sb.ToString());
    }
    catch (System.Exception errmsg)
    {
        MessageBox.Show("ERROR! " + errmsg.Message);
    }
}

Voir aussi

Référence

Microsoft.VisualStudio.VCProjectEngine, espace de noms

Autres ressources

Walkthrough: Using /clr:pure Features