Sdílet prostřednictvím


VCCLCompilerTool – rozhraní

VCCLCompilerTool Objekt zpřístupňuje funkce možnosti kompilátoru jazyka C++.Viz Možnosti kompilátoru pro více informací o možnostech kompilátoru.

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

Syntaxe

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

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

Vlastnosti

  Název Popis
Veřejná vlastnost AdditionalIncludeDirectories Získá nebo nastaví jeden nebo více adresářů přidat do cesty začlenění.AdditionalIncludeDirectories zpřístupňuje funkce kompilátoru /I (další adresáře souborů k zahrnutí) možnost kompilátoru MIDL MIDL – stránky vlastností: Obecné možnost a kompilátor prostředků 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ář, který chcete vyhledávat odkazy na soubory předány #using – direktiva (C++) směrnice.AdditionalUsingDirectories zpřístupňuje funkce kompilátoru /AI (Zadat adresáře metadat) možnost.
Veřejná vlastnost AssemblerListingLocation Získá nebo nastaví relativní cesta nebo název souboru výpis ASM.AssemblerListingLocation zpřístupňuje funkce kompilátoru /Fa možnost.
Veřejná vlastnost AssemblerOutput Získá nebo nastaví obsah souboru výstupu sestavení jazyk.AssemblerOutput zpřístupňuje funkce kompilátoru /FA, /Fa (soubor seznamu) možnosti.
Veřejná vlastnost BasicRuntimeChecks Získá nebo nastaví hodnotu, která označuje, zda chcete provést kontrolu úplné run-time chybová /RTC (kontrola chyb za běhu)), kontrola platnosti rámec zásobníku v době běhu (/RTC (kontrola chyb za běhu)) a zkontrolujte, zda neinicializované proměnné za běhu (/RTC (kontrola chyb za běhu)).
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 .Sbr) možnosti.
Veřejná vlastnost BrowseInformationFile Získá nebo nastaví volitelný název souboru prohlížeče.BrowseInformationFile zpřístupňuje funkce kompilátoru /FR, /Fr (Vytvořit soubor .Sbr) možnosti.
Veřejná vlastnost BufferSecurityCheck Získá nebo nastaví hodnotu určující, zda mají být kontrolovány přetečení zásobníku.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í konvencí volání aplikace.CallingConvention zpřístupňuje funkce kompilátoru /Gd, /Gr, /Gv, /Gz (Konvence volání) možnosti.
Veřejná vlastnost CompileAs Vybere volbu jazyka pro soubory .c a .cpp kompilace.CompileAs zpřístupňuje funkce kompilátoru /Tc, /Tp, /TC, /TP (zadání typu 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, která označuje, zda pro kompilaci bez propojení.
Veřejná vlastnost DebugInformationFormat Získá nebo nastaví typ kompilátor generuje informace o ladění.DebugInformationFormat zpřístupňuje funkce kompilátoru /Z7, /Zi, /ZI (formát ladicích informací) možnosti.
Veřejná vlastnost DefaultCharIsUnsigned Získá nebo nastaví výchozí typ char nepodepsané.DefaultCharIsUnsigned zpřístupňuje funkce kompilátoru /J (Výchozí znakový typ není podepsán) možnost.
Veřejná vlastnost Detect64BitPortabilityProblems Získá nebo nastaví hodnotu, která označuje, zda bude kompilátor vyhledávat otázky přenositelnost 64-bit.Detect64BitPortabilityProblems zpřístupňuje funkce kompilátoru /Wp64 (Zjištěny problémy s 64bitovou přenositelností) možnost.
Veřejná vlastnost DisableLanguageExtensions Získá nebo nastaví hodnotu označující, zda potlačit rozšíření jazyka.DisableLanguageExtensions zpřístupňuje funkce kompilátoru /Za, /Ze (Zakázat jazyková 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 oddělené 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žití pokynů na procesory, které podporují rozšířené instrukční 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ísta při použití vlákna a přístup místního úložného prostoru vlákna.EnableFiberSafeOptimizations zpřístupňuje funkce kompilátoru /GT (Podpora místního optického úložiště se zabezpečenými vlákny) možnost.
Veřejná vlastnost EnableFunctionLevelLinking Získá nebo nastaví hodnotu, která umožňuje propojování úroveň funkci.EnableFunctionLevelLinking zpřístupňuje funkce kompilátoru /Gy (povolení propojení na úrovni funkcí) možnost.
Veřejná vlastnost EnableIntrinsicFunctions Získá nebo nastaví hodnotu označující, zda chcete použít pro generování kódu rychlejší, ale pravděpodobně větší vnitřní funkce.EnableIntrinsicFunctions zpřístupňuje funkce kompilátoru /Oi (Generovat vnitřní funkce) možnost.
Veřejná vlastnost EnablePREfast Získá nebo nastaví, zda je povolena analýza nativní kód.
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í destruktorů pro automatické objekty při zásobníku unwind, způsobené výjimky.ExceptionHandling zpřístupňuje funkce kompilátoru /EH (model zpracování výjimek) možnost.
Veřejná vlastnost ExecutionBucket Infrastruktura. Microsoft pouze pro vnitřní potřebu.
Veřejná vlastnost ExpandAttributedSource Získá nebo nastaví hodnotu označující, zda chcete vytvořit seznam souborů s rozšířené atributy, které jsou vkládány do zdrojového souboru.ExpandAttributedSource zpřístupňuje funkce kompilátoru /Fx (sloučení vloženého kódu) možnost.
Veřejná vlastnost FavorSizeOrSpeed Získá nebo nastaví hodnotu označující, zda upřednostnit rychlost velikosti nebo kód kód.FavorSizeOrSpeed zpřístupňuje funkce kompilátoru /Os, /Ot (Upřednostnit malý kód, upřednostnit rychlý kód) možnosti.
Veřejná vlastnost FloatingPointExceptions Nastaví nebo získá zda plovoucí desetinnou čárkou je povoleno zpracování výjimek definovaných uživatelem.
Veřejná vlastnost floatingPointModel Nastaví nebo získá plovoucí bod modelu.
Veřejná vlastnost ForceConformanceInForLoopScope Získá nebo nastaví hodnotu, která označuje, zda chcete-li vynutit kompilátoru, aby v souladu s místním rozsahem v pro smyčka.ForceConformanceInForLoopScope zpřístupňuje funkce kompilátoru /Zc:forScope (Vynutit dodržování standardu pro obor cyklu for) 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 (Zahrnutý soubor s povinným názvem) možnost.
Veřejná vlastnost ForcedUsingFiles Vynutí použití názvu souboru, jako kdyby měl byl předán #using – direktiva (C++) směrnice.ForcedUsingFiles zpřístupňuje funkce kompilátoru /FU (soubor s vynuceným názvem #using) možnost.
Veřejná vlastnost FullIncludePath Získá seznam všech adresářů, které jsou zahrnuty v sestavení; zřetězení adresářů zadaný s parametrem /I a adresářů určených v VC++ Directories dialogové okno.Makra v těchto adresářích budou hodnoceny také.
Veřejná vlastnost GeneratePreprocessedFile Získá nebo sadu předzpracování možnost pro tuto konfiguraci.GeneratePreprocessedFile zpřístupňuje funkce kompilátoru /EP (předběžné zpracování do direktiv bez příkazů #line) a /P (předběžné zpracování souboru) možnosti.
Veřejná vlastnost GenerateXMLDocumentationFiles Nastaví nebo získá zda generovat soubory dokumentace jazyka XML.
Veřejná vlastnost IgnoreStandardIncludePath Získá nebo nastaví hodnotu, která označuje, zda se má ignorovat standardní cestu.IgnoreStandardIncludePath zpřístupňuje funkce kompilátoru /X (ignorování standardních cest zahrnutí) možnost kompilátoru MIDL MIDL – stránky vlastností: Obecné možnost a kompilátor prostředků Stránky vlastností prostředků možnost.
Veřejná vlastnost InlineFunctionExpansion Získá nebo nastaví úroveň vložené funkce rozšíření pro sestavení.InlineFunctionExpansion zpřístupňuje funkce kompilátoru /Ob (rozbalení vložené funkce) možnosti.
Veřejná vlastnost KeepComments Získá nebo nastaví hodnotu označující, zda potlačit pruhu komentář ze zdrojového kódu.KeepComments zpřístupňuje funkce kompilátoru /C (Zachovat komentáře při předběžném zpracování) možnost.
Veřejná vlastnost MinimalRebuild Získá nebo nastaví hodnotu indicting, zda chcete zjistit změny definice třídy C++ a znovu zkompilujte ovlivněných zdrojových souborů.MinimalRebuild zpřístupňuje funkce kompilátoru /Gm (Povolit minimální opětovné sestavení) možnost.
Veřejná vlastnost ObjectFile Získá nebo nastaví název výchozí název souboru objekt přepsat.ObjectFile zpřístupňuje funkce kompilátoru /Fo (název souboru objektů) 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 označující, zda potlačit framepointers.OmitFramePointers zpřístupňuje funkce kompilátoru /Oy (vynechání ukazatele na rámec) 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 (minimální velikost, maximální rychlost), a /Ox (úplná optimalizace) možnosti.
Veřejná vlastnost PrecompiledHeaderFile Získá nebo nastaví cestu nebo název souboru generovaný předkompilované hlavičky.PrecompiledHeaderFile zpřístupňuje funkce kompilátoru /Fp (název souboru .Pch) možnost.
Veřejná vlastnost PrecompiledHeaderThrough Získá nebo nastaví název souboru hlaviček, které lze použít při vytváření nebo použití předkompilovaného souboru hlaviček.PrecompiledHeaderThrough zpřístupňuje funkce kompilátoru /Yc (Vytvořit předkompilovaný hlavičkový soubor), a /Yu (Použít předkompilovaný hlavičkový soubor) možnosti.
Veřejná vlastnost PreprocessorDefinitions Získá nebo nastaví jeden nebo více preprocesor definuje.PreprocessorDefinitions zpřístupňuje funkce kompilátoru /D (definice preprocesoru) možnost kompilátoru MIDL MIDL – stránky vlastností: Obecné možnost a kompilátor prostředků Stránky vlastností prostředků možnost.
Veřejná vlastnost ProgramDataBaseFileName Získá nebo nastaví název pro soubor .pdb generovány kompilátoru a základní název souboru IDB požadované generovány kompilátoru.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 /MD, /MT, /LD (Použít běhovou knihovnu) možnosti.
Veřejná vlastnost RuntimeTypeInfo Získá nebo nastaví hodnotu označující, zda přidat kód pro kontrolu typů objektů C++ za běhu (informace o typu run-time).RuntimeTypeInfo zpřístupňuje funkce kompilátoru /GR (Povolit informace běhového typu) možnost.
Veřejná vlastnost ShowIncludes Získá nebo nastaví hodnotu, která označuje, zda pro vytvoření seznamu zahrnout soubory s výstup kompilátoru.ShowIncludes zpřístupňuje funkce kompilátoru /showIncludes (seznam vložených souborů) možnost.
Veřejná vlastnost SmallerTypeCheck Získá nebo nastaví hodnotu, která označuje, zda povolit kontrolu za účelem převodu na menší typy.SmallerTypeCheck zpřístupňuje funkce kompilátoru /RTC (kontrola chyb za běhu) možnost.
Veřejná vlastnost StringPooling Získá nebo nastaví hodnotu, která označuje, zda povolit čtení řetězce sdružování pro generování menší zkompilovaného kódu.StringPooling zpřístupňuje funkce kompilátoru /GF (odstranění duplicitních řetězců) možnost.
Veřejná vlastnost StructMemberAlignment Určuje 1-, 2-, 4-, 8 nebo 16 bajtů hranice pro struct member alignment.StructMemberAlignment zpřístupňuje funkce kompilátoru C++ /Zp (zarovnání členů struktury) možnost a MIDL kompilátoru MIDL – stránky vlastností: Upřesnit 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 určený nástroj.
Veřejná vlastnost ToolPath Získá cestu pro určený nástroj.
Veřejná vlastnost TreatWChar_tAsBuiltInType Získá nebo nastaví hodnotu označující, zda se má považovat za vestavěný typ 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 označující, zda všechny dříve definované hodnoty preprocesoru Nedefinování definičních souborů.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, zda že jeden nebo více preprocesoru undefines.UndefinePreprocessorDefinitions zpřístupňuje funkce kompilátoru C++ /U, /u (nedefinované symboly) možnost a MIDL kompilátoru MIDL – stránky vlastností: Upřesnit možnost.
Veřejná vlastnost UseFullPaths Získá nebo nastaví, zda chcete použít úplné cesty.
Veřejná vlastnost UsePrecompiledHeader Získá nebo nastaví hodnotu, která umožňuje vytváření nebo použití předkompilovaných hlaviček během sestavení.UsePrecompiledHeader zpřístupňuje funkce kompilátoru /Yc (Vytvořit předkompilovaný hlavičkový soubor) a /Yu (Použít předkompilovaný hlavičkový soubor) možnosti.
Veřejná vlastnost UseUnicodeResponseFiles Určuje, zda kompilátoru používá Unicode soubory odpovědí, nebo Ne.
Veřejná vlastnost VCProjectEngine Získá ukazatel na modul projektu.
Veřejná vlastnost WarnAsError Získá nebo nastaví hodnotu označující, zda chcete povolit kompilátor pro zacházení se všemi upozorněními jako s chybami.WarnAsError zpřístupňuje funkce kompilátoru C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (úroveň upozornění) možnost a MIDL kompilátoru MIDL – stránky vlastností: Obecné možnost.
Veřejná vlastnost WarningLevel Získá nebo nastaví hodnotu, která představuje, jak přísně kompilátor zjistí potenciálně podezřelý konstrukce.WarningLevel zpřístupňuje funkce kompilátoru C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (úroveň upozornění) možnost a 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 optimalizace modulu mezi zpožděním generování kódu propojení čas.WholeProgramOptimization zpřístupňuje funkce kompilátoru /GL (celková optimalizace programu) možnost.
Veřejná vlastnost XMLDocumentationFileName Získá nebo nastaví název souboru XML dokumentace.

Nahoru

Metody

  Název Popis
Veřejná metoda get_PropertyOption Infrastruktura. Microsoft pouze pro vnitřní potřebu.

Nahoru

Poznámky

Byly přidány následující nové možnosti kompilátoru Visual Studio 2005:

Následující možnosti kompilátoru, které byly odebrány v Visual Studio 2005:

  • /OP

  • / G6, /G7 a /GB

Příklady

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

Chcete-li spustit tento příklad, zadejte a spustit tento příklad, jak je uvedeno v Postupy: Kompilace a spuštění příkladů kódu objektu automatizace.Potom v nové instanci aplikace Visual Studio, načíst Visual C++ projektu a aktivovat 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