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 | |
---|---|---|
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. | |
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. | |
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. | |
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. | |
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. | |
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)). | |
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. | |
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. | |
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. | |
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. | |
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. | |
CompileAsManaged | Ottiene o imposta un valore che indica le opzioni del compilatore. | |
CompileOnly | Ottiene o imposta un valore che indica se eseguire la compilazione senza collegamento. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
EnablePREfast | Ottiene o imposta un valore che specifica se l'analisi del codice nativo è abilitata. | |
ErrorReporting | Ottiene o imposta la segnalazione degli errori del compilatore. | |
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. | |
ExecutionBucket | Infrastruttura. Solo per utilizzo interno di Microsoft. | |
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. | |
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. | |
FloatingPointExceptions | Ottiene o imposta un valore che specifica se la gestione delle eccezioni di virgola mobile definite dall'utente è abilitata. | |
floatingPointModel | Ottiene o imposta il modello a virgola mobile. | |
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. | |
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. | |
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. | |
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. | |
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. | |
GenerateXMLDocumentationFiles | Ottiene o imposta un valore che specifica se generare file di documentazione XML. | |
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. | |
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. | |
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. | |
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. | |
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. | |
OmitDefaultLibName | Ottiene o imposta un valore che specifica se il nome della libreria predefinita viene omesso. | |
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. | |
OpenMP | Ottiene o imposta un valore che specifica se il supporto OpenMP è abilitato. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
SuppressStartupBanner | Consente di non visualizzare il messaggio di avvio e i messaggi informativi. | |
ToolKind | Ottiene il nome del tipo di strumento. | |
toolName | Ottiene il nome dello strumento specificato. | |
ToolPath | Ottiene il percorso dello strumento specificato. | |
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. | |
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. | |
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. | |
UseFullPaths | Ottiene o imposta un valore che specifica se utilizzare percorsi completi. | |
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. | |
UseUnicodeResponseFiles | Definisce se il compilatore utilizza o meno file di risposta Unicode. | |
VCProjectEngine | Ottiene un puntatore al motore di gestione del progetto. | |
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. | |
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. | |
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. | |
XMLDocumentationFileName | Ottiene o imposta il nome del file della documentazione XML. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
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