Sdílet prostřednictvím


VCCLCompilerTool – rozhraní

VCCLCompilerTool Objektu zpřístupňuje funkce volby kompilátoru jazyka C++.Viz Možnosti kompilátoru Další informace o možnostech kompilátoru.

Obor názvů:  Microsoft.VisualStudio.VCProjectEngine
Sestavení:  Microsoft.VisualStudio.VCProjectEngine (v Microsoft.VisualStudio.VCProjectEngine.dll)

Syntaxe

'Deklarace
<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

Typ VCCLCompilerTool zveřejňuje následující členy.

Vlastnosti

  Název Popis
Veřejná vlastnost AdditionalIncludeDirectories Získá nebo nastaví jeden či více adresářů, které přidáte do seznamu zahrnout cestu.AdditionalIncludeDirectories zpřístupňuje funkce kompilátoru /I (Další adresáře obsahují) možnost jazyk MIDL kompilátoru Jazyk MIDL stránky vlastností: Obecné možnost a kompilátor zdroj Stránky vlastností prostředků možnost.
Veřejná vlastnost AdditionalOptions Získá nebo nastaví možnosti Přidat na konec příkazového řádku bezprostředně před názvy souborů.Je-li možnost není podporována v objektovém modelu.
Veřejná vlastnost AdditionalUsingDirectories Získá nebo nastaví adresář hledání řešení předán soubor odkazů # použití směrnice (C++) směrnice.AdditionalUsingDirectories zpřístupňuje funkce kompilátoru /AI (zadat metadat adresáře) možnost.
Veřejná vlastnost AssemblerListingLocation Získá nebo nastaví relativní cesta nebo název souboru výpisu ASM.AssemblerListingLocation zpřístupňuje funkce kompilátoru /Fa možnost.
Veřejná vlastnost AssemblerOutput Získá nebo nastaví obsah Assembler výstupního souboru.AssemblerOutput zpřístupňuje funkce kompilátoru / DM, /Fa (soubor výpisu) možnosti.
Veřejná vlastnost BasicRuntimeChecks Získá nebo nastaví hodnotu, která označuje, zda chcete provést úplné Chyba spuštění kontroly / RTC (Chyba při spuštění kontroly)), kontrola platnosti rámce zásobníku v době spuštění (/ RTC (Chyba při spuštění kontroly)) a kontrola neinicializované proměnné v době spuštění (/ RTC (Chyba při spuštění kontroly)).
Veřejná vlastnost BrowseInformation Určuje úroveň procházet informace v souboru .bsc.BrowseInformation zpřístupňuje funkce kompilátoru / FR, /Fr (vytvořit.Soubor spectral) možnosti.
Veřejná vlastnost BrowseInformationFile Získá nebo nastaví volitelný název pro soubor prohlížeče.BrowseInformationFile zpřístupňuje funkce kompilátoru / FR, /Fr (vytvořit.Soubor spectral) možnosti.
Veřejná vlastnost BufferSecurityCheck Získá nebo nastaví hodnotu označující, zda chcete kontrolovat chyby přetečení vyrovnávací paměti.BufferSecurityCheck zpřístupňuje funkce kompilátoru /GS (Kontrola zabezpečení vyrovnávací paměti) možnost.
Veřejná vlastnost CallingConvention Získá nebo nastaví výchozí konvence volání aplikace.CallingConvention zpřístupňuje funkce kompilátoru / Gd, parametry kompilátoru /Gr, /Gz (volací úmluva) možnosti.
Veřejná vlastnost CompileAs Vybere kompilace možnost jazyk c a cpp soubory.CompileAs zpřístupňuje funkce kompilátoru / Tc /TP /Tp /TC, (určete typ zdrojového souboru) možnosti.
Veřejná vlastnost CompileAsManaged Získá nebo nastaví hodnotu určující možnosti kompilátoru.
Veřejná vlastnost CompileOnly Získá nebo nastaví hodnotu určující, zda kompilovat bez propojení.
Veřejná vlastnost DebugInformationFormat Získá nebo nastaví typ ladicích informací generovaných kompilátorem.DebugInformationFormat zpřístupňuje funkce kompilátoru / Z7, /Zi, /ZI (informace o ladění formát) možnosti.
Veřejná vlastnost DefaultCharIsUnsigned Získá nebo nastaví výchozí typ char nepodepsaný.DefaultCharIsUnsigned zpřístupňuje funkce kompilátoru /J (char výchozí typ je bez znaménka) možnost.
Veřejná vlastnost Detect64BitPortabilityProblems Získá nebo nastaví hodnotu označující, zda kompilátor zjišťovat problémy přenositelnost 64 bit.Detect64BitPortabilityProblems zpřístupňuje funkce kompilátoru / Wp64 (zjistit problémy přenositelnost 64-Bit) možnost.
Veřejná vlastnost DisableLanguageExtensions Získá nebo nastaví hodnotu určující, zda je rozšíření jazyka potlačit.DisableLanguageExtensions zpřístupňuje funkce kompilátoru / Za, /Ze (jazyk zakázat rozšíření) možnost.
Veřejná vlastnost DisableSpecificWarnings Získá nebo nastaví hodnotu, která zakáže požadovaná čísla upozornění; Vloží čísla v seznamu středníky.DisableSpecificWarnings zpřístupňuje funkce kompilátoru /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / won (úroveň upozornění) možnost.
Veřejná vlastnost EnableEnhancedInstructionSet Získá nebo nastaví hodnotu, která umožňuje používat pokyny na procesory, které podporují rozšířené instrukce sady, jako jsou například vylepšení SSE a SSE2 IA-32.EnableEnhancedInstructionSet zpřístupňuje funkce kompilátoru /ARCH možnost.
Veřejná vlastnost EnableFiberSafeOptimizations Získá nebo nastaví hodnotu, která umožňuje optimalizaci paměti místo při použití vlákna a přístup místního úložného prostoru podprocesu.EnableFiberSafeOptimizations zpřístupňuje funkce kompilátoru /GT (podpora bezpečné Fiber podproces místní úložiště) možnost.
Veřejná vlastnost EnableFunctionLevelLinking Získá nebo nastaví hodnotu, která umožňuje funkce úroveň propojení.EnableFunctionLevelLinking zpřístupňuje funkce kompilátoru /Gy (Povolit funkce úrovně propojení) možnost.
Veřejná vlastnost EnableIntrinsicFunctions Získá nebo nastaví hodnotu označující, zda použít ke generování kódu rychlejší, ale pravděpodobně větší vnitřní funkce.EnableIntrinsicFunctions zpřístupňuje funkce kompilátoru /OI (generování vnitřní funkce) možnost.
Veřejná vlastnost EnablePREfast Získá nebo nastaví, zda je povolena nativní kód analýzy.
Veřejná vlastnost ErrorReporting Získá nebo nastaví hlášení chyb kompilátoru.
Veřejná vlastnost ExceptionHandling Získá nebo nastaví hodnoty použité pro volání na destruktory pro automatické objekty při zásobníku unwind způsobené thrown výjimku.ExceptionHandling zpřístupňuje funkce kompilátoru /EH (Model zpracování výjimek) možnost.
Veřejná vlastnost ExecutionBucket Infrastruktura. Microsoft pouze pro interní použití.
Veřejná vlastnost ExpandAttributedSource Získá nebo nastaví hodnotu určující, zda chcete vytvořit soubor výpisu s rozšířené atributy vstříknutého do zdrojového souboru.ExpandAttributedSource zpřístupňuje funkce kompilátoru /FX (sloučit vloženého kódu) možnost.
Veřejná vlastnost FavorSizeOrSpeed Získá nebo nastaví hodnotu určující, zda upřednostnit rychlost velikost nebo kód kód.FavorSizeOrSpeed zpřístupňuje funkce kompilátoru / Os, /Ot (kód malé něco pro tuhle, něco pro tuhle rychlé kód) možnosti.
Veřejná vlastnost FloatingPointExceptions Nastaví nebo získá zda uživatelem definované plovoucí bod je povoleno zpracování výjimek.
Veřejná vlastnost floatingPointModel Nastaví nebo získá plovoucí bod modelu.
Veřejná vlastnost ForceConformanceInForLoopScope Získá nebo nastaví hodnotu označující, zda kompilátoru s místním rozsahem v pro smyčka.ForceConformanceInForLoopScope zpřístupňuje funkce kompilátoru /Zc:forScope (platnost shodu v oboru smyčky) možnost.
Veřejná vlastnost ForcedIncludeFiles Získá nebo nastaví hodnotu, která určuje jednu nebo více povinně obsahovat soubory.ForcedIncludeFiles zpřístupňuje funkce kompilátoru /Fi (název vynucené zahrnout soubor) možnost.
Veřejná vlastnost ForcedUsingFiles Vynutí použití názvu souboru, jako by měl byla předána # použití směrnice (C++) směrnice.ForcedUsingFiles zpřístupňuje funkce kompilátoru /FU (název vynucené # pomocí souboru) možnost.
Veřejná vlastnost FullIncludePath Získá seznam všech adresářů v sestavení; zřetězení adresářů s /I a adresářů v VC++ Directories dialogové okno.Makra v těchto adresářích budou hodnoceny stejně.
Veřejná vlastnost GeneratePreprocessedFile Získá nebo předzpracování možnost pro tuto konfigurační sadu.GeneratePreprocessedFile zpřístupňuje funkce kompilátoru /EP (Preprocess bez #line směrnic STDOUT) a /P (Poznámka, Auto matický do souboru) možnosti.
Veřejná vlastnost GenerateXMLDocumentationFiles Nastaví nebo zda generovat soubory dokumentace XML získá.
Veřejná vlastnost IgnoreStandardIncludePath Získá nebo nastaví hodnotu, která označuje, zda bude ignorovat standardní obsahovat cestu.IgnoreStandardIncludePath zpřístupňuje funkce kompilátoru /X (ignorovat standardní zahrnout cesty) možnost jazyk MIDL kompilátoru Jazyk MIDL stránky vlastností: Obecné možnost a kompilátor zdroj Stránky vlastností prostředků možnost.
Veřejná vlastnost InlineFunctionExpansion Získá nebo nastaví úroveň vložené rozšiřující funkce pro sestavení.InlineFunctionExpansion zpřístupňuje funkce kompilátoru /Ob (vložené funkce rozšíření) možnosti.
Veřejná vlastnost KeepComments Získá nebo nastaví hodnotu určující, zda potlačit komentář pruh ze zdrojového kódu.KeepComments zpřístupňuje funkce kompilátoru /C (při úpravě před zpracováním zachovat komentáře) možnost.
Veřejná vlastnost MinimalRebuild Získá nebo nastaví hodnotu indicting, zda zjistit změny definice tříd C++ a znovu zkompilujte ovlivněné zdrojové soubory.MinimalRebuild zpřístupňuje funkce kompilátoru /GM (povolit minimální sestavení) možnost.
Veřejná vlastnost ObjectFile Získá nebo nastaví název přepsat výchozí název souboru objektu.ObjectFile zpřístupňuje funkce kompilátoru /FO (název souboru objektu) možnost.
Veřejná vlastnost OmitDefaultLibName Získá nebo nastaví, zda je vynechán název výchozí knihovny.
Veřejná vlastnost OmitFramePointers Získá nebo nastaví hodnotu určující, zda chcete potlačit framepointers.OmitFramePointers zpřístupňuje funkce kompilátoru /Oy (vynechání snímků ukazatel) možnost.
Veřejná vlastnost OpenMP Získá nebo nastavit, zda je povoleno OpenMP.
Veřejná vlastnost Optimization Získá nebo nastaví možnosti pro optimalizaci kódu.Optimization zpřístupňuje funkce kompilátoru /Od (zakázat (ladění)), / O1, /O2 (velikost minimalizovat, maximalizovat rychlost), a /OX (úplná optimalizace) možnosti.
Veřejná vlastnost PrecompiledHeaderFile Získá nebo nastaví cestu a název souboru generovaného předkompilovaný záhlaví.PrecompiledHeaderFile zpřístupňuje funkce kompilátoru /FP (název.Soubor pch) možnost.
Veřejná vlastnost PrecompiledHeaderThrough Získá nebo nastaví název hlavičky souboru lze použít při vytváření nebo pomocí souboru předkompilovaný záhlaví.PrecompiledHeaderThrough zpřístupňuje funkce kompilátoru /Yc (vytvořit soubor předkompilovaný záhlaví), a /YU (použití kompilovaných hlavičky souboru) možnosti.
Veřejná vlastnost PreprocessorDefinitions Získá nebo nastaví definuje jednu nebo více předprocesoru.PreprocessorDefinitions zpřístupňuje funkce kompilátoru /D (definice preprocesoru) možnost jazyk MIDL kompilátoru Jazyk MIDL stránky vlastností: Obecné možnost a kompilátor zdroj Stránky vlastností prostředků možnost.
Veřejná vlastnost ProgramDataBaseFileName Získá nebo nastaví název souboru generovaný kompilátorem PDB a základní název souboru .idb požadované generovaných kompilátorem.ProgramDataBaseFileName zpřístupňuje funkce kompilátoru /FD (název souboru databáze programu) možnost.
Veřejná vlastnost RuntimeLibrary Získá nebo nastaví knihovna run-time pro propojení.RuntimeLibrary zpřístupňuje funkce kompilátoru / /LD MD, /MT, (použití knihovna Run-Time) možnosti.
Veřejná vlastnost RuntimeTypeInfo Získá nebo nastaví hodnotu určující, zda chcete přidat kód pro kontrolu typy objektů jazyka C++ v době spuštění (typu runtime informace).RuntimeTypeInfo zpřístupňuje funkce kompilátoru Parametry kompilátoru /GR (informace o typu v době spuštění povolit) možnost.
Veřejná vlastnost ShowIncludes Získá nebo nastaví hodnotu určující, zda vygenerovat seznam zahrnout soubory s výstup kompilátoru.ShowIncludes zpřístupňuje funkce kompilátoru /showIncludes (seznamu zahrnout soubory) možnost.
Veřejná vlastnost SmallerTypeCheck Získá nebo nastaví hodnotu určující, zda povolit kontrolu pro převod typů menší.SmallerTypeCheck zpřístupňuje funkce kompilátoru / RTC (Chyba při spuštění kontroly) možnost.
Veřejná vlastnost StringPooling Získá nebo nastaví hodnotu označující, zda povolit pouze pro čtení řetězec sdružování pro generování menší zkompilovaný kód.StringPooling zpřístupňuje funkce kompilátoru /GF (odstranění řetězců duplikátu) možnost.
Veřejná vlastnost StructMemberAlignment Určuje 1-, 2-, 4-, 8- nebo hranice 16 bajtů pro zarovnání členské struct.StructMemberAlignment zpřístupňuje funkce kompilátoru jazyka C++ /ZP (Struct členské zarovnání) možnost a jazyk MIDL kompilátoru Jazyk MIDL stránky vlastností: rozšířené možnost.
Veřejná vlastnost SuppressStartupBanner Potlačí zobrazování úvodního nápisu a informačních zpráv.
Veřejná vlastnost ToolKind Získá název druhu nástroje.
Veřejná vlastnost toolName Získá název zadaný nástroje.
Veřejná vlastnost ToolPath Načtení cesty zadané nástroje.
Veřejná vlastnost TreatWChar_tAsBuiltInType Získá nebo nastaví hodnotu určující, zda předdefinovaný typ považovat za wchar_t.TreatWChar_tAsBuiltInType zpřístupňuje funkce kompilátoru /Zc:wchar_t (wchar_t je nativní typ) možnost.
Veřejná vlastnost UndefineAllPreprocessorDefinitions Získá nebo nastaví hodnotu určující, zda nedefinovaný všechny dříve definované hodnoty preprocesoru.UndefineAllPreprocessorDefinitions zpřístupňuje funkce kompilátoru / U, /u (nedefinovaný symboly) možnost.
Veřejná vlastnost UndefinePreprocessorDefinitions Získá nebo nastaví hodnotu, která určuje, že jeden nebo více předprocesoru undefines.UndefinePreprocessorDefinitions zpřístupňuje funkce kompilátoru jazyka C++ / U, /u (nedefinovaný symboly) možnost a jazyk MIDL kompilátoru Jazyk MIDL stránky vlastností: rozšířené možnost.
Veřejná vlastnost UseFullPaths Získá nebo nastaví, zda se má používat úplné cesty.
Veřejná vlastnost UsePrecompiledHeader Získá nebo nastaví hodnotu, která umožňuje vytváření nebo použití kompilovaných záhlaví během sestavení.UsePrecompiledHeader zpřístupňuje funkce kompilátoru /Yc (vytvořit soubor předkompilovaný záhlaví) a /YU (použití kompilovaných hlavičky souboru) možnosti.
Veřejná vlastnost UseUnicodeResponseFiles Určuje, zda complier používá soubory Unicode odpověď, nebo ne.
Veřejná vlastnost VCProjectEngine Ukazatel se získá modulu projekt.
Veřejná vlastnost WarnAsError Získá nebo nastaví hodnotu určující, zda chcete povolit zpracovává všechna upozornění jako chyby kompilátoru.WarnAsError zpřístupňuje funkce kompilátoru jazyka C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / won (úroveň upozornění) možnost a jazyk MIDL kompilátoru Jazyk MIDL stránky vlastností: Obecné možnost.
Veřejná vlastnost WarningLevel Získá nebo nastaví hodnotu, která představuje, jak přísně kontroluje kompilátor potenciálně podezřelé konstrukce.WarningLevel zpřístupňuje funkce kompilátoru jazyka C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / won (úroveň upozornění) možnost a jazyk MIDL kompilátoru /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / won (úroveň upozornění) možnost.
Veřejná vlastnost WholeProgramOptimization Získá nebo nastaví hodnotu určující, zda povolit křížové modul optimalizace zpožděním generování kódu propojení čas.WholeProgramOptimization zpřístupňuje funkce kompilátoru /GL (celý Program optimalizace) možnost.
Veřejná vlastnost XMLDocumentationFileName Získá nebo nastaví název souboru dokumentace XML.

Nahoru

Metody

  Název Popis
Veřejná metoda get_PropertyOption Infrastruktura. Microsoft pouze pro interní použití.

Nahoru

Poznámky

Byly přidány tyto nové parametry kompilátoru Visual Studio 2005:

Následující volby kompilátoru byly odebrány v Visual Studio 2005:

  • /OP

  • / G6, /G7 a /GB

Příklady

Následující příklad demonstruje použití EnablePREfast a AdditionalOptions vlastnosti a nastavte /analyze:WX- přepnout.(Obě vlastnosti jsou povinny provést.) Zadání /analyze:WX- znamená, že kód upozornění analýzy nejsou považovány chyby při kompilaci s /WX.Další informace naleznete v tématu /analyze (Analýza kódu).

Tento příklad spustit, zadejte a spustit příklad, jak je uvedeno v Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu.Potom v nové instanci Visual Studio, načíst Visual C++ projektu a aktivujte doplněk pomocí Správce doplňků.

' 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);
    }
}

Viz také

Referenční dokumentace

Microsoft.VisualStudio.VCProjectEngine – obor názvů

Další zdroje

Walkthrough: Using /clr:pure Features