Condividi tramite


Interfaccia VCCLCompilerTool

L'oggetto VCCLCompilerTool espone le funzionalità delle opzioni del compilatore C++. Per ulteriori informazioni sulle opzioni del compilatore, vedere Opzioni del compilatore.

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

Sintassi

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

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à dell'opzione /I (Directory di inclusione aggiuntive) del compilatore, dell'opzione Pagine delle proprietà MIDL: Generale del compilatore MIDL e dell'opzione Pagine delle proprietà Risorse del compilatore di risorse.
Proprietà pubblica AdditionalOptions Ottiene o imposta opzioni da aggiungere alla fine della riga di comando immediatamente prima del nome o dei nomi file.Ciò è utile quando ad 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 al file passati alla direttiva Direttiva #using (C++).L'oggetto AdditionalUsingDirectories espone la funzionalità dell'opzione /AI (Specifica le directory di metadati) del compilatore.
Proprietà pubblica AssemblerListingLocation Ottiene o imposta il percorso relativo e/o nome per un file di listato ASM.L'oggetto AssemblerListingLocation espone la funzionalità dell'opzione /Fa del compilatore.
Proprietà pubblica AssemblerOutput Ottiene o imposta il contenuto del file di output in linguaggio assembly.L'oggetto AssemblerOutput espone la funzionalità delle opzioni /FA, /Fa (File di listato) del compilatore.
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 nel runtime (/RTC (Controlli di runtime)) e controllare la presenza di variabili non inizializzate nel runtime (/RTC (Controlli di runtime)).
Proprietà pubblica BrowseInformation Specifica il livello di informazioni di visualizzazione nel file BSC.L'oggetto BrowseInformation espone la funzionalità delle opzioni /FR, /Fr (Crea file sbr) del compilatore.
Proprietà pubblica BrowseInformationFile Ottiene o imposta il nome facoltativo per il file delle informazioni di visualizzazione.L'oggetto BrowseInformationFile espone la funzionalità delle opzioni /FR, /Fr (Crea file sbr) del compilatore.
Proprietà pubblica BufferSecurityCheck Ottiene o imposta un valore che indica se verificare sovraccarichi del buffer.L'oggetto BufferSecurityCheck espone la funzionalità dell'opzione /GS (Controllo sicurezza buffer) del compilatore.
Proprietà pubblica CallingConvention Ottiene o imposta la convenzione di chiamata predefinita per l'applicazione.L'oggetto CallingConvention espone la funzionalità delle opzioni /Gd, /Gr, /Gv, /Gz (Convenzione di chiamata) del compilatore.
Proprietà pubblica CompileAs Seleziona il linguaggio di compilazione per i file .c e .cpp.L'oggetto CompileAs espone la funzionalità delle opzioni /Tc, /Tp, /TC, /TP (Specifica il tipo di file di origine) del compilatore.
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 generate dal compilatore.L'oggetto DebugInformationFormat espone la funzionalità delle opzioni /Z7, /Zi, /ZI (Formato informazioni di debug) del compilatore.
Proprietà pubblica DefaultCharIsUnsigned Ottiene o imposta il tipo char predefinito in senza segno.L'oggetto DefaultCharIsUnsigned espone la funzionalità dell'opzione /J (Il tipo char predefinito è unsigned) del compilatore.
Proprietà pubblica Detect64BitPortabilityProblems Ottiene o imposta un valore che indica se il compilatore verificherà i problemi di portabilità a 64 bit.L'oggetto Detect64BitPortabilityProblems espone la funzionalità dell'opzione /Wp64 (Rileva errori di portabilità a 64 bit) del compilatore.
Proprietà pubblica DisableLanguageExtensions Ottiene o imposta un valore che indica se eliminare le estensioni del linguaggio.L'oggetto DisableLanguageExtensions espone la funzionalità dell'opzione /Za, /Ze (Disabilita estensioni linguaggio) del compilatore.
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.L'oggetto DisableSpecificWarnings espone la funzionalità dell'opzione /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) del compilatore.
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.L'oggetto EnableEnhancedInstructionSet espone la funzionalità dell'opzione /ARCH del compilatore.
Proprietà pubblica EnableFiberSafeOptimizations Ottiene o imposta un valore che abilita l'ottimizzazione dello spazio di memoria quando si utilizza l'accesso ai supporti di archiviazione locali di thread e fiber.L'oggetto EnableFiberSafeOptimizations espone la funzionalità dell'opzione /GT (Supporta archiviazione locale di thread indipendente da fiber) del compilatore.
Proprietà pubblica EnableFunctionLevelLinking Ottiene o imposta un valore che abilita il collegamento a livello di funzione.L'oggetto EnableFunctionLevelLinking espone la funzionalità dell'opzione /Gy (Attiva collegamento a livello di funzione) del compilatore.
Proprietà pubblica EnableIntrinsicFunctions Ottiene o imposta un valore che indica se utilizzare funzioni intrinseche per generare codice più veloce ma di dimensioni talvolta maggiori.L'oggetto EnableIntrinsicFunctions espone la funzionalità dell'opzione /Oi (Genera funzioni intrinseche) del compilatore.
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 uno svuotamento dello stack causato dalla generazione di un'eccezione.L'oggetto ExceptionHandling espone la funzionalità dell'opzione /EH (Modello di gestione delle eccezioni) del compilatore.
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.L'oggetto ExpandAttributedSource espone la funzionalità dell'opzione /Fx (Esegue il merge del codice) del compilatore.
Proprietà pubblica FavorSizeOrSpeed Ottiene o imposta un valore che indica se ottimizzare la dimensione o la velocità del codice.L'oggetto FavorSizeOrSpeed espone la funzionalità delle opzioni /Os, /Ot (Ottimizza per dimensione codice, Ottimizza per velocità codice) del compilatore.
Proprietà pubblica FloatingPointExceptions Ottiene o imposta un valore che specifica se la gestione delle eccezioni di virgola mobile definite dall'utente è abilitata.
Proprietà pubblica floatingPointModel Ottiene o imposta il modello a virgola mobile.
Proprietà pubblica ForceConformanceInForLoopScope Ottiene o imposta un valore che indica se imporre al compilatore di conformarsi all'ambito locale in un ciclo For.L'oggetto ForceConformanceInForLoopScope espone la funzionalità dell'opzione /Zc:forScope (Imponi conformità nell'ambito di un ciclo For) del compilatore.
Proprietà pubblica ForcedIncludeFiles Ottiene o imposta un valore che specifica uno o più file di inclusione imposti.L'oggetto ForcedIncludeFiles espone la funzionalità dell'opzione /FI (Specifica il file di inclusione da utilizzare) del compilatore.
Proprietà pubblica ForcedUsingFiles Impone l'utilizzo di un nome file, come se fosse stato passato alla direttiva Direttiva #using (C++).L'oggetto ForcedUsingFiles espone la funzionalità dell'opzione /FU (Specifica file #using da utilizzare) del compilatore.
Proprietà pubblica FullIncludePath Ottiene un elenco di tutte le directory incluse nella compilazione; una concatenazione delle directory specificate mediante /I e delle directory specificate nella finestra di dialogo VC++ Directories.Verranno valutate anche le macro presenti in tali directory.
Proprietà pubblica GeneratePreprocessedFile Ottiene o imposta l'opzione di pre-elaborazione per questa configurazione.L'oggetto GeneratePreprocessedFile espone la funzionalità delle opzioni /EP (Pre-elabora in stdout senza direttive #line) e /P (Pre-elabora in un file) del compilatore.
Proprietà pubblica GenerateXMLDocumentationFiles Ottiene o imposta un valore che specifica 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à dell'opzione /X (Ignora percorso di inclusione standard) del compilatore, dell'opzione Pagine delle proprietà MIDL: Generale del compilatore MIDL e dell'opzione Pagine delle proprietà Risorse del compilatore di risorse.
Proprietà pubblica InlineFunctionExpansion Ottiene o imposta il livello di espansione della funzione inline per la compilazione.L'oggetto InlineFunctionExpansion espone la funzionalità delle opzioni /Ob (Espansione funzioni inline) del compilatore.
Proprietà pubblica KeepComments Ottiene o imposta un valore che indica se eliminare la rimozione di commenti dal codice sorgente.L'oggetto KeepComments espone la funzionalità dell'opzione /C (Conserva i commenti durante la pre-elaborazione) del compilatore.
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.L'oggetto MinimalRebuild espone la funzionalità dell'opzione /Gm (Attiva ricompilazione minima) del compilatore.
Proprietà pubblica ObjectFile Ottiene o imposta un nome con cui eseguire l'override del nome del file oggetto predefinito.L'oggetto ObjectFile espone la funzionalità dell'opzione /Fo (Nome file oggetto) del compilatore.
Proprietà pubblica OmitDefaultLibName Ottiene o imposta un valore che specifica se il nome della libreria predefinita viene omesso.
Proprietà pubblica OmitFramePointers Ottiene o imposta un valore che indica se eliminare i puntatori ai frame.L'oggetto OmitFramePointers espone la funzionalità dell'opzione /Oy (Omissione dei puntatori ai frame) del compilatore.
Proprietà pubblica OpenMP Ottiene o imposta un valore che specifica se il supporto OpenMP è abilitato.
Proprietà pubblica Optimization Ottiene o imposta opzioni per l'ottimizzazione del codice.L'oggetto Optimization espone la funzionalità delle opzioni /Od (Disabilita (Debug)), /O1, /O2 (Riduci dimensione, Ottimizza velocità) e /Ox (Ottimizzazione completa) del compilatore.
Proprietà pubblica PrecompiledHeaderFile Ottiene o imposta il percorso e/o nome del file di intestazione precompilato generato.L'oggetto PrecompiledHeaderFile espone la funzionalità dell'opzione /Fp (Specifica file pch) del compilatore.
Proprietà pubblica PrecompiledHeaderThrough Ottiene o imposta il nome del file di intestazione da utilizzare quando si crea o si utilizza un file di intestazione precompilato.L'oggetto PrecompiledHeaderThrough espone la funzionalità delle opzioni /Yc (Crea il file di intestazione precompilato) e /Yu (Utilizza il file di intestazione precompilato) del compilatore.
Proprietà pubblica PreprocessorDefinitions Ottiene o imposta una o più definizioni per il preprocessore.PreprocessorDefinitions espone la funzionalità dell'opzione /D (definizioni preprocessore) del compilatore, dell'opzione Pagine delle proprietà MIDL: Generale del compilatore MIDL e dell'opzione Pagine delle proprietà Risorse del compilatore di risorse.
Proprietà pubblica ProgramDataBaseFileName Ottiene o imposta un nome per un file .pdb generato dal compilatore e nome di base per il file .idb obbligatorio generato dal compilatore.L'oggetto ProgramDataBaseFileName espone la funzionalità dell'opzione /Fd (Nome file database di programma) del compilatore.
Proprietà pubblica RuntimeLibrary Ottiene o imposta la libreria di runtime per il collegamento.L'oggetto RuntimeLibrary espone la funzionalità delle opzioni /MD, /MT, /LD (Utilizza la libreria di runtime) del compilatore.
Proprietà pubblica RuntimeTypeInfo Ottiene o imposta un valore che indica se aggiungere il codice per controllare i tipi di oggetto C++ in fase di esecuzione (informazioni sui tipi in fase di esecuzione).L'oggetto RuntimeTypeInfo espone la funzionalità dell'opzione /GR (Attiva informazioni sui tipi in fase di esecuzione) del compilatore.
Proprietà pubblica ShowIncludes Ottiene o imposta un valore che indica se generare un elenco di file di inclusione con l'output del compilatore.L'oggetto ShowIncludes espone la funzionalità dell'opzione /showIncludes (Elenca i file di inclusione) del compilatore.
Proprietà pubblica SmallerTypeCheck Ottiene o imposta un valore che indica se abilitare il controllo per la conversione in tipi più piccoli.L'oggetto SmallerTypeCheck espone la funzionalità dell'opzione /RTC (Controlli di runtime) del compilatore.
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 ridotte.L'oggetto StringPooling espone la funzionalità dell'opzione /GF (Elimina stringhe duplicate) del compilatore.
Proprietà pubblica StructMemberAlignment Specifica limiti di 1, 2, 4, 8 o 16 byte per l'allineamento dei membri struct.StructMemberAlignment espone la funzionalità dell'opzione /Zp (Allineamento membri struct) del compilatore C++ e dell'opzione Pagine delle proprietà MIDL: Avanzate del compilatore MIDL.
Proprietà pubblica SuppressStartupBanner Consente di non visualizzare il messaggio di avvio e i 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.L'oggetto TreatWChar_tAsBuiltInType espone la funzionalità dell'opzione /Zc:wchar_t (Tipo nativo wchar_t) del compilatore.
Proprietà pubblica UndefineAllPreprocessorDefinitions Ottiene o imposta un valore che indica se annullare la definizione di tutti i valori precedentemente definiti per il preprocessore.L'oggetto UndefineAllPreprocessorDefinitions espone la funzionalità dell'opzione /U, /u (Annulla la definizione dei simboli) del compilatore.
Proprietà pubblica UndefinePreprocessorDefinitions Ottiene o imposta un valore che specifica uno o più preprocessori non definiti.UndefinePreprocessorDefinitions espone la funzionalità dell'opzione /U, /u (Annulla la definizione dei simboli) del compilatore C++ e dell'opzione Pagine delle proprietà MIDL: Avanzate del compilatore MIDL.
Proprietà pubblica UseFullPaths Ottiene o imposta un valore che specifica 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.L'oggetto UsePrecompiledHeader espone la funzionalità delle opzioni /Yc (Crea il file di intestazione precompilato) e /Yu (Utilizza il file di intestazione precompilato) del compilatore.
Proprietà pubblica UseUnicodeResponseFiles Definisce se il compilatore utilizza o meno file di risposta Unicode.
Proprietà pubblica VCProjectEngine Ottiene un puntatore al motore di gestione del progetto.
Proprietà pubblica WarnAsError Ottiene o imposta un valore che indica se tutti gli avvisi vengono considerati dal compilatore come errori.WarnAsError espone la funzionalità dell'opzione /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) del compilatore C++ e dell'opzione Pagine delle proprietà MIDL: Generale del compilatore MIDL.
Proprietà pubblica WarningLevel Ottiene o imposta un valore che indica il grado di severità con cui il compilatore controlla la presenza di costrutti potenzialmente sospetti.WarningLevel espone la funzionalità dell'opzione /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) del compilatore C++ e dell'opzione /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Livello avvisi) del compilatore MIDL.
Proprietà pubblica WholeProgramOptimization Ottiene o imposta un valore che indica se abilitare le ottimizzazioni tra i moduli rimandando la generazione del codice alla fase di collegamento.L'oggetto WholeProgramOptimization espone la funzionalità dell'opzione /GL (Ottimizzazione intero programma) del compilatore.
Proprietà pubblica XMLDocumentationFileName Ottiene o imposta il nome del file della 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 è stata aggiunta 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 le proprietà AdditionalOptions e EnablePREfast per impostare l'opzione /analyze:WX-. (Entrambe le proprietà necessarie per questo scopo.) Specificare /analyze:WX- significa 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 progetto Visual C++ e utilizzare la Gestione componenti aggiuntivi per 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