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("5D579FF0-3839-4B36-9F3E-4BA2F790525A")> _
Public Interface VCCLCompilerTool
[GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")]
public interface VCCLCompilerTool
[GuidAttribute(L"5D579FF0-3839-4B36-9F3E-4BA2F790525A")]
public interface class VCCLCompilerTool
[<GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")>]
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 la fonctionnalité de l'option de /I (Autres répertoires Include) du compilateur, de l'option de Pages de propriétés MIDL : Général du compilateur MIDL, et de l'option de 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 de le rechercher à résoudre des références de fichier passées à la directive de directive #using (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 de listing ASM.AssemblerListingLocation expose la fonctionnalité de l'option de /Fa du compilateur.
Propriété publique AssemblerOutput Obtient ou définit le contenu du fichier de sortie en langage assembleur.AssemblerOutput expose la fonctionnalité des options de /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 de parcourent les informations dans le fichier .bsc.BrowseInformation expose la fonctionnalité des options de /FR, /Fr (Créer un fichier .sbr) du compilateur.
Propriété publique BrowseInformationFile Obtient ou définit le nom facultatif pour le fichier d'informations du navigateur.BrowseInformationFile expose la fonctionnalité des options de /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 la fonctionnalité des options de /Gd, /Gr, /Gz (Convention d'appel) du compilateur.
Propriété publique CompileAs Sélectionne l'option de langue de compilation pour des fichiers .c et .cpp.CompileAs expose la fonctionnalité des options de /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é par le compilateur.DebugInformationFormat expose la fonctionnalité des options de /Z7, /Zi, /ZI (Format des informations de débogage) du compilateur.
Propriété publique DefaultCharIsUnsigned Obtient ou définit le type par défaut de char à 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 64 bits de portabilité.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 si supprimer des 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 souhaités ; met des numéros dans une liste délimitée par point-virgule.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 de l'instruction recherchée sur les processeurs qui prennent en charge les jeux d'instructions améliorés, tels que les améliorations SSE et SSE2 à 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 de utilisation de fibres et l'accès de 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 de fonction- niveau. fonction-niveauEnableFunctionLevelLinking 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 à générer plus rapide, mais éventuellement plus grand, code.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 des appels aux destructeurs pour les objets automatiques pendant un déroulement de pile provoqué par une exception levée.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 si créer un fichier de listing avec des 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 le nombre d'instructions ou coder la vitesse.FavorSizeOrSpeed expose la fonctionnalité des options de /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 si forcer le compilateur à se conformer à l'étendue locale dans une pour la boucle.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 de liaison.ForcedIncludeFiles expose les fonctions de l'option /FI (Nom du fichier Include imposé) du compilateur.
Propriété publique ForcedUsingFiles Force l'utilisation d'un nom de fichier comme s'il avait été passé à la directive de directive #using (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 la fonctionnalité des options de /EP (Prétraiter dans stdout sans directive #line) et de /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 si ignorer le chemin d'accès Include standard.IgnoreStandardIncludePath expose la fonctionnalité de l'option de /X (Ignorer les chemins d'accès Include standard) du compilateur, de l'option de Pages de propriétés MIDL : Général du compilateur MIDL, et de l'option de Pages de propriétés Ressources du compilateur de ressources.
Propriété publique InlineFunctionExpansion Obtient ou définit le niveau de l'expansion de fonction inline pour la génération.InlineFunctionExpansion expose la fonctionnalité des options de /Ob (Expansion des fonctions Inline) du compilateur.
Propriété publique KeepComments Obtient ou définit une valeur indiquant si supprimer une bande de commentaire de 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 des modifications aux définitions de classe de 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 substituer le nom de fichier d'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 supprimer les pointeurs de frame.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 des options pour l'optimisation de code.Optimization expose la fonctionnalité de /Od (Désactiver (Débogage)) du compilateur, de /O1, /O2 (Réduire la taille, augmenter la vitesse), et des options de /Ox (Optimisation complète).
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 de l'utiliser en créant ou à l'aide d'un fichier d'en-tête précompilé.PrecompiledHeaderThrough expose la fonctionnalité de /Yc (Créer un fichier d'en-tête précompilé) du compilateur, et des options de /Yu (Utiliser un fichier d'en-tête précompilé).
Propriété publique PreprocessorDefinitions Obtient ou définit une ou plusieurs définitions de préprocesseur.PreprocessorDefinitions expose la fonctionnalité de l'option de /D (Définitions de préprocesseur) du compilateur, de l'option de Pages de propriétés MIDL : Général du compilateur MIDL, et de l'option de Pages de propriétés Ressources du compilateur de ressources.
Propriété publique ProgramDataBaseFileName Obtient ou définit un nom pour un fichier généré par le compilateur .pdb et un nom de base pour le fichier généré par le compilateur .idb requis.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 lier.RuntimeLibrary expose la fonctionnalité des options de /MD, /MT, /LD (Utiliser la bibliothèque Runtime) du compilateur.
Propriété publique RuntimeTypeInfo Obtient ou définit une valeur indiquant si ajouter code pour activer des types d'objet de C++ pendant l'exécution (les informations de type d'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 si générer une liste de fichiers Include avec la sortie de compilateur.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 si activer la recherche de la conversion aux petits types.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 si activer la limitation de requêtes de chaîne en lecture seule pour générer plus petit code compilé.StringPooling expose les fonctions de l'option /GF (Supprimer les doublons) du compilateur.
Propriété publique StructMemberAlignment Spécifie 1, 2, 4, 8, ou 16 limites d'octets pour l'alignement des membres de la structure.StructMemberAlignment expose la fonctionnalité de l'option de /Zp (Alignement des membres de la structure) du compilateur de C++ et de l'option de 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 si wchar_t traiter 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 supprimer toutes les valeurs précédemment définies de préprocesseur.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 de plusieurs préprocesseur élimine.UndefinePreprocessorDefinitions expose la fonctionnalité de l'option de /U, /u (Annuler la définition de symboles) du compilateur de C++ et de l'option de 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 la fonctionnalité des options de /Yc (Créer un fichier d'en-tête précompilé) et de /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 permettre au compilateur pour traiter tous les avertissements comme des erreurs.WarnAsError expose la fonctionnalité de l'option de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Niveau d'avertissement) du compilateur de C++ et de l'option de 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 doit vérifier les constructions potentiellement suspectes.WarningLevel expose la fonctionnalité de l'option de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Niveau d'avertissement) du compilateur de C++ et de l'option de /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 du compilateur suivantes ont été ajoutées dans Visual Studio 2005 :

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

  • /Op

  • /G6, /G7, /GB et

Exemples

L'exemple suivant montre comment utiliser les propriétés d'EnablePREfast et d'AdditionalOptions pour définir le commutateur d'/analyze:WX-.(Les deux propriétés sont requises pour cela.) Spécifier /analyze:WX- signifie que des avertissements d'analyse du code ne seront pas traités comme des erreurs lorsque compilant 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 de Visual Studio, chargez un projet de Visual C++ et utilisez le gestionnaire de compléments pour activer la macro complémentaire.

' 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