Udostępnij za pośrednictwem


Interfejs VCCLCompilerTool

VCCLCompilerTool Obiektu opisuje funkcjonowanie opcje kompilatora C++.Zobacz Opcje kompilatora uzyskać więcej informacji dotyczących opcji kompilatora.

Przestrzeń nazw:  Microsoft.VisualStudio.VCProjectEngine
Zestaw:  Microsoft.VisualStudio.VCProjectEngine (w Microsoft.VisualStudio.VCProjectEngine.dll)

Składnia

'Deklaracja
<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 uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna AdditionalIncludeDirectories Pobiera lub ustawia jeden lub więcej katalogów, aby dodać do ścieżki include.AdditionalIncludeDirectories udostępnia funkcję kompilatora /I (Dodatkowe katalogi dołączenia) opcji, kompilator MIDL Strony właściwości MIDL: ogólne opcji i kompilator zasobów Strony właściwości zasobów opcji.
Właściwość publiczna AdditionalOptions Pobiera lub ustawia opcje, aby dodać na końcu wiersza polecenia bezpośrednio przed nazwy plików.Przykładem jest, jeśli opcja nie jest obsługiwana w modelu obiektów.
Właściwość publiczna AdditionalUsingDirectories Pobiera lub ustawia katalog wyszukiwania do rozwiązania odwołuje się plik przekazany do #using — dyrektywa (C++) dyrektywy.AdditionalUsingDirectories udostępnia funkcję kompilatora /AI (Określ katalogi metadanych) opcji.
Właściwość publiczna AssemblerListingLocation Pobiera lub ustawia ścieżkę względną i/lub nazwę pliku ASM aukcji.AssemblerListingLocation udostępnia funkcję kompilatora /Fa opcji.
Właściwość publiczna AssemblerOutput Pobiera lub ustawia zawartość pliku wyjściowego asemblera.AssemblerOutput udostępnia funkcję kompilatora /FA, /Fa (Umieszczanie pliku na liście) opcje.
Właściwość publiczna BasicRuntimeChecks Pobiera lub ustawia wartość wskazująca, czy do sprawdzania błędów run time /RTC (Sprawdzanie błędów czasu wykonywania)), sprawdzić ważność ramek stosu w czasie wykonywania (/RTC (Sprawdzanie błędów czasu wykonywania)) i wyszukaj niezainicjowanych zmiennych w czasie wykonywania (/RTC (Sprawdzanie błędów czasu wykonywania)).
Właściwość publiczna BrowseInformation Określa poziom przeglądać informacje w pliku .bsc.BrowseInformation udostępnia funkcję kompilatora /FR, /Fr (Utwórz plik .Sbr) opcje.
Właściwość publiczna BrowseInformationFile Pobiera lub ustawia opcjonalna nazwa pliku informacji przeglądarki.BrowseInformationFile udostępnia funkcję kompilatora /FR, /Fr (Utwórz plik .Sbr) opcje.
Właściwość publiczna BufferSecurityCheck Pobiera lub ustawia wartość wskazującą, czy Wyszukaj przepełnienia bufora.BufferSecurityCheck udostępnia funkcję kompilatora /GS (Sprawdzanie zabezpieczeń bufora) opcji.
Właściwość publiczna CallingConvention Pobiera lub ustawia domyślne konwencji wywoływania aplikacji.CallingConvention udostępnia funkcję kompilatora /Gd, /Gr, /Gv, /Gz (Konwencja wywoływania) opcje.
Właściwość publiczna CompileAs Wybieranie kompilacji opcji języka dla plików .c i .cpp.CompileAs udostępnia funkcję kompilatora /Tc, /Tp, /TC, /TP (Określ typ pliku źródłowego) opcje.
Właściwość publiczna CompileAsManaged Pobiera lub ustawia wartość wskazującą, opcje kompilatora.
Właściwość publiczna CompileOnly Pobiera lub ustawia wartość wskazującą, czy skompilować bez jej przyłączania.
Właściwość publiczna DebugInformationFormat Pobiera lub ustawia typ informacji debugowania generowanych przez kompilator.DebugInformationFormat udostępnia funkcję kompilatora /Z7, /Zi, /ZI (Format informacji o debugowaniu) opcje.
Właściwość publiczna DefaultCharIsUnsigned Pobiera lub ustawia domyślny typ char bez znaku.DefaultCharIsUnsigned udostępnia funkcję kompilatora /J (Domyślny typ char nie jest podpisany) opcji.
Właściwość publiczna Detect64BitPortabilityProblems Pobiera lub ustawia wartość wskazującą, czy kompilator będzie sprawdzał kwestie przenoszenia 64-bitowych.Detect64BitPortabilityProblems udostępnia funkcję kompilatora /Wp64 (Wykrywaj problemy związane z przenośnością w programowaniu 64-bitowym) opcji.
Właściwość publiczna DisableLanguageExtensions Pobiera lub ustawia wartość wskazującą, czy należy wyłączyć rozszerzenia języka.DisableLanguageExtensions udostępnia funkcję kompilatora /Za, /Ze (Wyłącz rozszerzenia językowe) opcji.
Właściwość publiczna DisableSpecificWarnings Pobiera lub ustawia wartość, która wyłącza żądane numery ostrzeżenia; numery umieszcza na liście średnikami.DisableSpecificWarnings udostępnia funkcję kompilatora /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Poziom ostrzeżenia) opcji.
Właściwość publiczna EnableEnhancedInstructionSet Pobiera lub ustawia wartość, która umożliwia korzystanie z instrukcji zawartych na procesorach, które obsługują zestawów instrukcji rozszerzonych, takich jak ulepszenia SSE i SSE2 IA-32.EnableEnhancedInstructionSet udostępnia funkcję kompilatora /ARCH opcji.
Właściwość publiczna EnableFiberSafeOptimizations Pobiera lub ustawia wartość, która umożliwia optymalizację przestrzeni pamięci podczas korzystania z włókien i dostępu lokalnego magazynu wątków.EnableFiberSafeOptimizations udostępnia funkcję kompilatora /GT (Obsługa bezpieczeństwa włókien magazynu wątków lokalnych) opcji.
Właściwość publiczna EnableFunctionLevelLinking Pobiera lub ustawia wartość, która umożliwia łączenie poziom funkcji.EnableFunctionLevelLinking udostępnia funkcję kompilatora /Gy (Włączenie łączenia na poziomie funkcji) opcji.
Właściwość publiczna EnableIntrinsicFunctions Pobiera lub ustawia wartość wskazującą, czy ma być używany do generowania kodu szybciej, ale prawdopodobnie większa, funkcje wewnętrzne.EnableIntrinsicFunctions udostępnia funkcję kompilatora /Oi (Generuj funkcje wewnętrzne) opcji.
Właściwość publiczna EnablePREfast Pobiera lub ustawia, czy włączono analizy kodu macierzystego.
Właściwość publiczna ErrorReporting Pobiera lub ustawia raportowanie błędów kompilatora.
Właściwość publiczna ExceptionHandling Pobiera lub ustawia wartość używana dla wywołań destruktory dla obiektów automatyczne podczas odkręcanie stosu, spowodowane przez wyrzucony wyjątek.ExceptionHandling udostępnia funkcję kompilatora /EH (Model obsługi wyjątku) opcji.
Właściwość publiczna ExecutionBucket Infrastruktura. Microsoft tylko do użytku wewnętrznego.
Właściwość publiczna ExpandAttributedSource Pobiera lub ustawia wartość wskazującą, czy należy utworzyć plik aukcji z rozwiniętym atrybutów do pliku źródłowego.ExpandAttributedSource udostępnia funkcję kompilatora /Fx (Scalaj wprowadzony kod) opcji.
Właściwość publiczna FavorSizeOrSpeed Pobiera lub ustawia wartość wskazującą, czy należy preferować kodu wielkości lub kod szybkość.FavorSizeOrSpeed udostępnia funkcję kompilatora /Os, /Ot (Preferuj mały kod, Preferuj szybki kod) opcje.
Właściwość publiczna FloatingPointExceptions Ustawia lub pobiera czy zmiennoprzecinkowych jest włączona obsługa wyjątków zdefiniowane przez użytkownika.
Właściwość publiczna floatingPointModel Ustawia lub pobiera unoszące się na powierzchni modelu punktu.
Właściwość publiczna ForceConformanceInForLoopScope Pobiera lub ustawia wartość wskazującą, czy należy wymusić na kompilatorze odpowiadają zakres lokalny w pętli For.ForceConformanceInForLoopScope udostępnia funkcję kompilatora /Zc:forScope (Wymuszaj zgodność w zakresie pętli For) opcji.
Właściwość publiczna ForcedIncludeFiles Pobiera lub ustawia wartość, która określa jeden lub więcej zmuszony dołączyć pliki.ForcedIncludeFiles udostępnia funkcję kompilatora /FI (Nazwa pliku wymuszonego dołączenia) opcji.
Właściwość publiczna ForcedUsingFiles Wymusza użycie nazwy pliku, jak gdyby miał został przekazany do #using — dyrektywa (C++) dyrektywy.ForcedUsingFiles udostępnia funkcję kompilatora /FU (Nazwij wymuszone pliki dyrektywy #using) opcji.
Właściwość publiczna FullIncludePath Pobiera listę wszystkich katalogów zawarte w kompilacji; łączenie za pomocą/i określić katalogi i katalogach, określone w VC++ Directories okno dialogowe.Ocenia się również makr w tych katalogach.
Właściwość publiczna GeneratePreprocessedFile Pobiera lub zestaw opcji preprocesora dla tej konfiguracji.GeneratePreprocessedFile udostępnia funkcję kompilatora /EP (Wstępnie przetwórz do stdout bez dyrektyw #line) i /P (Przetwarzaj wstępnie do pliku) opcje.
Właściwość publiczna GenerateXMLDocumentationFiles Ustawia lub pobiera czy generować pliki dokumentacji XML.
Właściwość publiczna IgnoreStandardIncludePath Pobiera lub ustawia wartość wskazującą, czy ignorować standard Podaj ścieżkę.IgnoreStandardIncludePath udostępnia funkcję kompilatora /X (Ignoruj standardowe ścieżki dołączanych plików) opcji, kompilator MIDL Strony właściwości MIDL: ogólne opcji i kompilator zasobów Strony właściwości zasobów opcji.
Właściwość publiczna InlineFunctionExpansion Pobiera lub ustawia poziom wbudowanej funkcji rozszerzeń dla kompilacji.InlineFunctionExpansion udostępnia funkcję kompilatora /Ob (Rozszerzenie funkcji wbudowanej) opcje.
Właściwość publiczna KeepComments Pobiera lub ustawia wartość wskazującą, czy należy wyłączyć pasek komentarz z kodu źródłowego.KeepComments udostępnia funkcję kompilatora /C (Zachowaj komentarze podczas przetwarzania wstępnego) opcji.
Właściwość publiczna MinimalRebuild Pobiera lub ustawia wartość oskarżając czy wykrywania zmian definicji klas C++ i ponownie skompilować plików źródłowych usterce.MinimalRebuild udostępnia funkcję kompilatora /Gm (Włącz minimalną ponowną kompilację) opcji.
Właściwość publiczna ObjectFile Pobiera lub ustawia nazwę, aby zastąpić domyślną nazwę pliku obiektu.ObjectFile udostępnia funkcję kompilatora /Fo (Nazwa pliku obiektu) opcji.
Właściwość publiczna OmitDefaultLibName Pobiera lub ustawia, czy domyślna nazwa biblioteki zostanie pominięty.
Właściwość publiczna OmitFramePointers Pobiera lub ustawia wartość wskazującą, czy należy wyłączyć framepointers.OmitFramePointers udostępnia funkcję kompilatora /Oy (Pominięcie wskaźnika ramki) opcji.
Właściwość publiczna OpenMP Pobiera lub określić, czy OpenMP jest włączony.
Właściwość publiczna Optimization Pobiera lub ustawia opcje optymalizacji kodu.Optimization udostępnia funkcję kompilatora /Od (Wyłącz (Debuguj)), /O1, /O2 (Minimalizuj rozmiar, maksymalizuj szybkość), i /Ox (Pełna optymalizacja) opcje.
Właściwość publiczna PrecompiledHeaderFile Pobiera lub ustawia ścieżkę i/lub nazwę pliku wygenerowanego nagłówka wstępnie skompilowana.PrecompiledHeaderFile udostępnia funkcję kompilatora /Fp (Nazwa pliku .Pch) opcji.
Właściwość publiczna PrecompiledHeaderThrough Pobiera lub ustawia nazwę pliku nagłówka, aby używać podczas tworzenia lub przy użyciu wstępnie skompilowany plik nagłówka.PrecompiledHeaderThrough udostępnia funkcję kompilatora /Yc (Utwórz prekompilowany plik nagłówka), i /Yu (Korzystaj z prekompilowanego pliku nagłówka) opcje.
Właściwość publiczna PreprocessorDefinitions Pobiera lub ustawia definiuje jeden lub więcej preprocesora.PreprocessorDefinitions udostępnia funkcję kompilatora /D (Definicje preprocesora) opcji, kompilator MIDL Strony właściwości MIDL: ogólne opcji i kompilator zasobów Strony właściwości zasobów opcji.
Właściwość publiczna ProgramDataBaseFileName Pobiera lub ustawia nazwę pliku .pdb generowanych przez kompilator i nazwa podstawowa pliku wymaganego .idb generowanych przez kompilator.ProgramDataBaseFileName udostępnia funkcję kompilatora /Fd (Nazwa pliku bazy danych programu) opcji.
Właściwość publiczna RuntimeLibrary Pobiera lub ustawia biblioteka uruchomieniowa łączenia.RuntimeLibrary udostępnia funkcję kompilatora /MD, /MT, /LD (Korzystaj z bibliotek wykonawczych) opcje.
Właściwość publiczna RuntimeTypeInfo Pobiera lub ustawia wartość wskazującą, czy chcesz dodać kod sprawdzania typów obiektów C++ w czasie wykonywania (informacje dotyczące typu run-time).RuntimeTypeInfo udostępnia funkcję kompilatora /GR (Włącz informacje typu Run-Time) opcji.
Właściwość publiczna ShowIncludes Pobiera lub ustawia wartość wskazującą, czy generować listy dołączania plików o dane wyjściowe kompilatora.ShowIncludes udostępnia funkcję kompilatora /showIncludes (Wymień pliki dołączane) opcji.
Właściwość publiczna SmallerTypeCheck Pobiera lub ustawia wartość wskazującą, czy włączyć sprawdzanie konwersji na mniejszych typów.SmallerTypeCheck udostępnia funkcję kompilatora /RTC (Sprawdzanie błędów czasu wykonywania) opcji.
Właściwość publiczna StringPooling Pobiera lub ustawia wartość wskazującą, czy aby włączyć tylko do odczytu string buforowanie dla mniejszych generowania skomplikowanego kodu.StringPooling udostępnia funkcję kompilatora /GF (Eliminowanie ciągów zduplikowanych) opcji.
Właściwość publiczna StructMemberAlignment Określa 1-, 2, 4-, 8- lub 16-bajtowy granice struct Członkowskich wyrównania.StructMemberAlignment udostępnia funkcję kompilatora C++ /Zp (Wyrównanie członka struktury) opcji i kompilator MIDL Strony właściwości MIDL: zaawansowane opcji.
Właściwość publiczna SuppressStartupBanner Pomija wyświetlanie komunikatów uruchomienia transparent i informacji.
Właściwość publiczna ToolKind Pobiera nazwę rodzaju narzędzie.
Właściwość publiczna toolName Pobiera nazwę określonego narzędzia.
Właściwość publiczna ToolPath Pobiera ścieżkę do określonego narzędzia.
Właściwość publiczna TreatWChar_tAsBuiltInType Pobiera lub ustawia wartość wskazującą, czy należy traktować jako wbudowany typ wchar_t.TreatWChar_tAsBuiltInType udostępnia funkcję kompilatora /Zc:wchar_t (wchar_t jest typem natywnym) opcji.
Właściwość publiczna UndefineAllPreprocessorDefinitions Pobiera lub ustawia wartość wskazującą, czy definicję wszystkie uprzednio zdefiniowane wartości preprocesora.UndefineAllPreprocessorDefinitions udostępnia funkcję kompilatora /U, /u (Usuń definicje symboli) opcji.
Właściwość publiczna UndefinePreprocessorDefinitions Pobiera lub ustawia wartość, która określa, że undefines jeden lub więcej preprocesora.UndefinePreprocessorDefinitions udostępnia funkcję kompilatora C++ /U, /u (Usuń definicje symboli) opcji i kompilator MIDL Strony właściwości MIDL: zaawansowane opcji.
Właściwość publiczna UseFullPaths Pobiera lub ustawia, czy użyć pełnej ścieżki.
Właściwość publiczna UsePrecompiledHeader Pobiera lub ustawia wartość, która umożliwia tworzenie i stosowanie wstępnie skompilowanym nagłówka podczas kompilacji.UsePrecompiledHeader udostępnia funkcję kompilatora /Yc (Utwórz prekompilowany plik nagłówka) i /Yu (Korzystaj z prekompilowanego pliku nagłówka) opcje.
Właściwość publiczna UseUnicodeResponseFiles Określa, czy kompilator używa plików odpowiedzi Unicode, czy nie.
Właściwość publiczna VCProjectEngine Pobiera wskaźnik do aparatu projektu.
Właściwość publiczna WarnAsError Pobiera lub ustawia wartość wskazującą, czy należy włączyć kompilatorowi traktuje wszystkie ostrzeżenia jako błędy.WarnAsError udostępnia funkcję kompilatora C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Poziom ostrzeżenia) opcji i kompilator MIDL Strony właściwości MIDL: ogólne opcji.
Właściwość publiczna WarningLevel Pobiera lub ustawia wartość, która reprezentuje jak ściśle kompilator sprawdza, czy potencjalnie podejrzanych konstrukcji.WarningLevel udostępnia funkcję kompilatora C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Poziom ostrzeżenia) opcji i kompilator MIDL /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Poziom ostrzeżenia) opcji.
Właściwość publiczna WholeProgramOptimization Pobiera lub ustawia wartość wskazującą, czy należy włączyć optymalizację cross moduł poprzez opóźnianie generowania kodu, aby połączyć razem.WholeProgramOptimization udostępnia funkcję kompilatora /GL (Optymalizacja całego programu) opcji.
Właściwość publiczna XMLDocumentationFileName Pobiera lub ustawia nazwę pliku dokumentacji XML.

Początek

Metody

  Nazwa Opis
Metoda publiczna get_PropertyOption Infrastruktura. Microsoft tylko do użytku wewnętrznego.

Początek

Uwagi

Dodano następujące nowe opcje kompilatora w Visual Studio 2005:

Następujące opcje kompilatora zostały usunięte w Visual Studio 2005:

  • /OP

  • / G6, /G7 i /GB

Przykłady

Poniższy przykład pokazuje sposób użycia EnablePREfast i AdditionalOptions właściwości, aby ustawić /analyze:WX- przełączanie. (Obie właściwości są wymagane w tym celu). Określanie /analyze:WX- oznacza, że kod ostrzeżenia analizy nie będzie traktowane jako błędy, podczas kompilacji z /WX.Aby uzyskać więcej informacji, zobacz /analyze (analiza kodu).

Aby uruchomić ten przykład, należy wprowadzić i uruchomić ten przykład, jak wskazano w Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.Następnie w nowej instancji Visual Studio, załadować Visual C++ projektu a aktywacja dodatek za pomocą Menedżera dodatków.

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

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.VCProjectEngine

Inne zasoby

Walkthrough: Using /clr:pure Features