Condividi tramite


Interfaccia VCCLCompilerTool

VCCLCompilerTool l'oggetto espone la funzionalità delle opzioni del compilatore C++.vedere Opzioni del compilatore per ulteriori informazioni sulle opzioni del compilatore.

Spazio dei nomi:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Sintassi

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

Il tipo VCCLCompilerTool espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica AdditionalIncludeDirectories Ottiene o imposta una o più directory da aggiungere al percorso di inclusione.AdditionalIncludeDirectories espone la funzionalità del compilatore /I (Directory di inclusione aggiuntive) opzione, il compilatore MIDL Pagine delle proprietà MIDL: Generale opzione e il compilatore di risorse Pagine delle proprietà Risorse opzione.
Proprietà pubblica AdditionalOptions Ottiene o imposta le opzioni da aggiungere alla fine della riga di comando immediatamente prima del nome file (s).Un esempio un'opzione non è supportata nel modello a oggetti.
Proprietà pubblica AdditionalUsingDirectories Ottiene o imposta una directory in cui eseguire le ricerche per risolvere i riferimenti a file passati a direttiva #using (C++) direttiva.AdditionalUsingDirectories espone la funzionalità del compilatore /AI (Specifica le directory di metadati) opzione.
Proprietà pubblica AssemblerListingLocation Ottiene o imposta il percorso relativo e/o nome per un file di listato ASM.AssemblerListingLocation espone la funzionalità del compilatore /Fa opzione.
Proprietà pubblica AssemblerOutput Ottiene o imposta il contenuto del file di output in linguaggio assembly.AssemblerOutput espone la funzionalità del compilatore /FA, /Fa (File di listato) opzioni.
Proprietà pubblica BasicRuntimeChecks Ottiene o imposta un valore per indicare se eseguire controlli completi degli errori di runtime /RTC (Controlli di runtime)), controllare la validità dello stack frame in fase di esecuzione (/RTC (Controlli di runtime)) e verificare la presenza di variabili non inizializzate in fase di esecuzione (/RTC (Controlli di runtime)).
Proprietà pubblica BrowseInformation Specifica il livello di informazioni di visualizzazione nel file BSC.BrowseInformation espone la funzionalità del compilatore /FR, /Fr (Crea file sbr) opzioni.
Proprietà pubblica BrowseInformationFile Ottiene o imposta il nome facoltativo per il file di informazioni di visualizzazione.BrowseInformationFile espone la funzionalità del compilatore /FR, /Fr (Crea file sbr) opzioni.
Proprietà pubblica BufferSecurityCheck Ottiene o imposta un valore che indica se verificare i sovraccarichi del buffer.BufferSecurityCheck espone la funzionalità del compilatore /GS (Controllo sicurezza buffer) opzione.
Proprietà pubblica CallingConvention Ottiene o imposta la convenzione di chiamata predefinita per l'applicazione.CallingConvention espone la funzionalità del compilatore /Gd, /Gr, /Gz (Convenzione di chiamata) opzioni.
Proprietà pubblica CompileAs .c Di linguaggio per questi file e .cpp .cxx.CompileAs espone la funzionalità del compilatore /Tc, /Tp, /TC, /TP (Specifica il tipo di file di origine) opzioni.
Proprietà pubblica CompileAsManaged Ottiene o imposta un valore che indica le opzioni del compilatore.
Proprietà pubblica CompileOnly Ottiene o imposta un valore che indica se eseguire la compilazione senza collegamento.
Proprietà pubblica DebugInformationFormat Ottiene o imposta il tipo di informazioni di debug generato dal compilatore.DebugInformationFormat espone la funzionalità del compilatore /Z7, /Zi, /ZI (Formato informazioni di debug) opzioni.
Proprietà pubblica DefaultCharIsUnsigned Ottiene o imposta il tipo char predefinito in unsigned.DefaultCharIsUnsigned espone la funzionalità del compilatore /J (Il tipo char predefinito è unsigned) opzione.
Proprietà pubblica Detect64BitPortabilityProblems Ottiene o imposta un valore che indica se il compilatore verificherà i problemi di portabilità a 64 bit.Detect64BitPortabilityProblems espone la funzionalità del compilatore /Wp64 (Rileva errori di portabilità a 64 bit) opzione.
Proprietà pubblica DisableLanguageExtensions Ottiene o imposta un valore che indica se eliminare le estensioni del linguaggio.DisableLanguageExtensions espone la funzionalità del compilatore /Za, /Ze (Disabilita estensioni linguaggio) opzione.
Proprietà pubblica DisableSpecificWarnings Ottiene o imposta un valore che disabilita i numeri di avviso desiderati; inserisce i numeri in un elenco delimitato da punti e virgola.DisableSpecificWarnings espone la funzionalità del compilatore /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) opzione.
Proprietà pubblica EnableEnhancedInstructionSet Ottiene o imposta un valore che abilita l'utilizzo di istruzioni presenti su processori che supportano set di istruzioni avanzate, ad esempio i miglioramenti SSE e SSE2 per IA-32.EnableEnhancedInstructionSet espone la funzionalità del compilatore /ARCH opzione.
Proprietà pubblica EnableFiberSafeOptimizations Ottiene o imposta un valore che abilita l'ottimizzazione dello spazio di memoria quando si utilizza i fiber e l'accesso alla memoria locale di thread.EnableFiberSafeOptimizations espone la funzionalità del compilatore /GT (Supporta archiviazione locale di thread indipendente da fiber) opzione.
Proprietà pubblica EnableFunctionLevelLinking Ottiene o imposta un valore che abilita il collegamento a livello di funzione.EnableFunctionLevelLinking espone la funzionalità del compilatore /Gy (Attiva collegamento a livello di funzione) opzione.
Proprietà pubblica EnableIntrinsicFunctions Ottiene o imposta un valore che indica se utilizzare funzioni intrinseche per generare più veloce, ma possibilmente più grande, codice.EnableIntrinsicFunctions espone la funzionalità del compilatore /Oi (Genera funzioni intrinseche) opzione.
Proprietà pubblica EnablePREfast Ottiene o imposta un valore che specifica se l'analisi del codice nativo è abilitata.
Proprietà pubblica ErrorReporting Ottiene o imposta la segnalazione degli errori del compilatore.
Proprietà pubblica ExceptionHandling Ottiene o imposta un valore utilizzato per le chiamate ai distruttori per gli oggetti automatici durante lo stack causata dalla generazione di un'eccezione.ExceptionHandling espone la funzionalità del compilatore /EH (Modello di gestione delle eccezioni) opzione.
Proprietà pubblica ExecutionBucket Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica ExpandAttributedSource Ottiene o imposta un valore che indica se creare un file di listato con attributi espansi inseriti nel file di origine.ExpandAttributedSource espone la funzionalità del compilatore /Fx (Esegue il merge del codice) opzione.
Proprietà pubblica FavorSizeOrSpeed Ottiene o imposta un valore che indica se ottimizzare la dimensione del codice o il codice accelera.FavorSizeOrSpeed espone la funzionalità del compilatore /Os, /Ot (Ottimizza per dimensione codice, Ottimizza per velocità codice) opzioni.
Proprietà pubblica FloatingPointExceptions Ottiene o imposta un valore che indica se la gestione delle eccezioni definite dall'utente a virgola mobile è abilitata.
Proprietà pubblica floatingPointModel Imposta o ottiene il modello a virgola mobile.
Proprietà pubblica ForceConformanceInForLoopScope Ottiene o imposta un valore che indica se forzare il compilatore per conformarsi all'ambito locale in un ciclo for.ForceConformanceInForLoopScope espone la funzionalità del compilatore /Zc:forScope (Imponi conformità nell'ambito di un ciclo For) opzione.
Proprietà pubblica ForcedIncludeFiles Ottiene o imposta un valore che specifica uno o più file di inclusione imposti.ForcedIncludeFiles espone la funzionalità del compilatore /FI (Specifica il file di inclusione da utilizzare) opzione.
Proprietà pubblica ForcedUsingFiles Impone l'utilizzo di un nome file come se fosse stato passato a direttiva #using (C++) direttiva.ForcedUsingFiles espone la funzionalità del compilatore /FU (Specifica file #using da utilizzare) opzione.
Proprietà pubblica FullIncludePath Ottiene un elenco di tutte le directory incluse nella compilazione; una concatenazione delle directory specificate con /I e delle directory specificate in directory di VC++ finestra di dialogo.Le macro presenti in tali directory verranno valutate anche.
Proprietà pubblica GeneratePreprocessedFile Ottiene o imposta l'opzione di pre-elaborazione per la configurazione.GeneratePreprocessedFile espone la funzionalità del compilatore /EP (Pre-elabora in stdout senza direttive #line) e /P (Pre-elabora in un file) opzioni.
Proprietà pubblica GenerateXMLDocumentationFiles Ottiene o imposta un valore che indica se generare file di documentazione XML.
Proprietà pubblica IgnoreStandardIncludePath Ottiene o imposta un valore che indica se ignorare il percorso di inclusione standard.IgnoreStandardIncludePath espone la funzionalità del compilatore /X (Ignora percorso di inclusione standard) opzione, il compilatore MIDL Pagine delle proprietà MIDL: Generale opzione e il compilatore di risorse Pagine delle proprietà Risorse opzione.
Proprietà pubblica InlineFunctionExpansion Ottiene o imposta il livello di espansione delle funzioni inline per la compilazione.InlineFunctionExpansion espone la funzionalità del compilatore /Ob (Espansione funzioni inline) opzioni.
Proprietà pubblica KeepComments Ottiene o imposta un valore che indica se eliminare la rimozione di commenti dal codice sorgente.KeepComments espone la funzionalità del compilatore /C (Conserva i commenti durante la pre-elaborazione) opzione.
Proprietà pubblica MinimalRebuild Ottiene o imposta un valore che specifica se rilevare le modifiche alle definizioni delle classi C++ e ricompilare i file di origine interessati.MinimalRebuild espone la funzionalità del compilatore /Gm (Attiva ricompilazione minima) opzione.
Proprietà pubblica ObjectFile Ottiene o imposta un nome per eseguire l'override del nome del file oggetto predefinito.ObjectFile espone la funzionalità del compilatore /Fo (Nome file oggetto) opzione.
Proprietà pubblica OmitDefaultLibName Ottiene o imposta se il nome della libreria predefinita viene omesso.
Proprietà pubblica OmitFramePointers Ottiene o imposta un valore che indica se eliminare i puntatori ai frame.OmitFramePointers espone la funzionalità del compilatore /Oy (Omissione dei puntatori ai frame) opzione.
Proprietà pubblica OpenMP Ottiene o imposta se il supporto OpenMP è abilitato.
Proprietà pubblica Optimization Ottiene o imposta le opzioni per l'ottimizzazione del codice.Optimization espone la funzionalità del compilatore /Od (Disabilita (Debug)), /O1, /O2 (Riduci dimensione, Ottimizza velocità)e /Ox (Ottimizzazione completa) opzioni.
Proprietà pubblica PrecompiledHeaderFile Ottiene o imposta il percorso e/o il nome del file di intestazione precompilato generato.PrecompiledHeaderFile espone la funzionalità del compilatore /Fp (Specifica file pch) opzione.
Proprietà pubblica PrecompiledHeaderThrough Ottiene o imposta il nome file di intestazione da utilizzare quando si crea o si utilizza un file di intestazione precompilato.PrecompiledHeaderThrough espone la funzionalità del compilatore /Yc (Crea il file di intestazione precompilato)e /Yu (Utilizza il file di intestazione precompilato) opzioni.
Proprietà pubblica PreprocessorDefinitions Ottiene o imposta una o più definizioni per il preprocessore.PreprocessorDefinitions espone la funzionalità del compilatore /D (definizioni preprocessore) opzione, il compilatore MIDL Pagine delle proprietà MIDL: Generale opzione e il compilatore di risorse Pagine delle proprietà Risorse opzione.
Proprietà pubblica ProgramDataBaseFileName Ottiene o imposta un nome per un file .pdb generato dal compilatore e un nome di base per il file .idb obbligatorio generato dal compilatore.ProgramDataBaseFileName espone la funzionalità del compilatore /Fd (Nome file database di programma) opzione.
Proprietà pubblica RuntimeLibrary Ottiene o imposta la libreria di runtime per il collegamento.RuntimeLibrary espone la funzionalità del compilatore /MD, /MT, /LD (Utilizza la libreria di runtime) opzioni.
Proprietà pubblica RuntimeTypeInfo Ottiene o imposta un valore che indica se aggiungere il codice per controllare i tipi di oggetti C++ in fase di esecuzione (informazioni sui tipi di runtime).RuntimeTypeInfo espone la funzionalità del compilatore /GR (Attiva informazioni sui tipi in fase di esecuzione) opzione.
Proprietà pubblica ShowIncludes Ottiene o imposta un valore che indica se generare un elenco dei file di inclusione con l'output del compilatore.ShowIncludes espone la funzionalità del compilatore /showIncludes (Elenca i file di inclusione) opzione.
Proprietà pubblica SmallerTypeCheck Ottiene o imposta un valore che indica se abilitare il controllo per la conversione verso tipi più piccoli.SmallerTypeCheck espone la funzionalità del compilatore /RTC (Controlli di runtime) opzione.
Proprietà pubblica StringPooling Ottiene o imposta un valore che indica se abilitare la condivisione delle stringhe in sola lettura per generare codice compilato di dimensioni minori.StringPooling espone la funzionalità del compilatore /GF (Elimina stringhe duplicate) opzione.
Proprietà pubblica StructMemberAlignment Specifica 1, 2, 4, 8, o limiti di 16 byte per l'allineamento dei membri struct.StructMemberAlignment espone la funzionalità del compilatore C++ /Zp (Allineamento membri struct) opzione e il compilatore MIDL Pagine delle proprietà MIDL: Avanzate opzione.
Proprietà pubblica SuppressStartupBanner Elimina la visualizzazione del messaggio di avvio e dei messaggi informativi.
Proprietà pubblica ToolKind Ottiene il nome del tipo di strumento.
Proprietà pubblica toolName Ottiene il nome dello strumento specificato.
Proprietà pubblica ToolPath Ottiene il percorso dello strumento specificato.
Proprietà pubblica TreatWChar_tAsBuiltInType Ottiene o imposta un valore che indica se considerare wchar_t come tipo incorporato.TreatWChar_tAsBuiltInType espone la funzionalità del compilatore /Zc:wchar_t (Tipo nativo wchar_t) opzione.
Proprietà pubblica UndefineAllPreprocessorDefinitions Ottiene o imposta un valore che indica se definire valori qualsiasi precedentemente definiti per il preprocessore.UndefineAllPreprocessorDefinitions espone la funzionalità del compilatore /U, /u (Annulla la definizione dei simboli) opzione.
Proprietà pubblica UndefinePreprocessorDefinitions Ottiene o imposta un valore che specifica una o più definizioni per il preprocessore.UndefinePreprocessorDefinitions espone la funzionalità del compilatore C++ /U, /u (Annulla la definizione dei simboli) opzione e il compilatore MIDL Pagine delle proprietà MIDL: Avanzate opzione.
Proprietà pubblica UseFullPaths Ottiene o imposta un valore che indica se utilizzare percorsi completi.
Proprietà pubblica UsePrecompiledHeader Ottiene o imposta un valore che abilita la creazione o l'utilizzo di un'intestazione precompilata durante la compilazione.UsePrecompiledHeader espone la funzionalità del compilatore /Yc (Crea il file di intestazione precompilato) e /Yu (Utilizza il file di intestazione precompilato) opzioni.
Proprietà pubblica UseUnicodeResponseFiles Definisce se il compilatore utilizza file di risposta Unicode, o meno.
Proprietà pubblica VCProjectEngine Ottiene un puntatore al motore di progetto.
Proprietà pubblica WarnAsError Ottiene o imposta un valore che indica se consentire al compilatore di considerare tutti gli avvisi come errori.WarnAsError espone la funzionalità del compilatore C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) opzione e il compilatore MIDL Pagine delle proprietà MIDL: Generale opzione.
Proprietà pubblica WarningLevel Ottiene o imposta un valore che rappresenta quanto il compilatore controlla la presenza di costrutti potenzialmente sospetti.WarningLevel espone la funzionalità del compilatore C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) opzione e il compilatore MIDL /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) opzione.
Proprietà pubblica WholeProgramOptimization Ottiene o imposta un valore che indica se abilitare le ottimizzazioni tra i moduli rimandando la generazione di codice in fase di collegamento.WholeProgramOptimization espone la funzionalità del compilatore /GL (Ottimizzazione intero programma) opzione.
Proprietà pubblica XMLDocumentationFileName Ottiene o imposta il nome file di documentazione XML.

In alto

Metodi

  Nome Descrizione
Metodo pubblico get_PropertyOption Infrastruttura. Solo per utilizzo interno di Microsoft.

In alto

Note

Le nuove opzioni del compilatore sono state aggiunte in Visual Studio 2005:

Le seguenti opzioni del compilatore sono state rimosse in Visual Studio 2005:

  • /Op

  • /G6, /G7 e /GB

Esempi

Nell'esempio seguente viene illustrato come utilizzare EnablePREfast e AdditionalOptions proprietà per impostare /analyze:WX- opzione.(Entrambe le proprietà sono necessarie questo scopo.) specificare /analyze:WX- indica che gli avvisi di analisi codice non verranno considerati come errori durante la compilazione con /WX.Per ulteriori informazioni, vedere /analyze (Analisi codice).

Per eseguire questo esempio, immettere ed eseguire l'esempio come descritto in Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.Quindi, nella nuova istanza di Visual Studio, caricare un oggetto Visual C++ progetto e utilizzare la Gestione componenti aggiuntivi attivare il componente aggiuntivo.

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

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.VCProjectEngine

Altre risorse

Walkthrough: Using /clr:pure Features