VCCLCompilerTool (Interfaz)
El objeto VCCLCompilerTool expone la funcionalidad de las opciones del compilador de C++.Vea Opciones del compilador para obtener más información sobre las opciones del compilador.
Espacio de nombres: Microsoft.VisualStudio.VCProjectEngine
Ensamblado: Microsoft.VisualStudio.VCProjectEngine (en Microsoft.VisualStudio.VCProjectEngine.dll)
Sintaxis
'Declaración
<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
El tipo VCCLCompilerTool expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
AdditionalIncludeDirectories | Obtiene o establece uno o más directorios para agregar a la ruta de inclusión.AdditionalIncludeDirectories expone la funcionalidad de la opción de /I (Directorios de inclusión adicionales) del compilador, la opción de Páginas de propiedades MIDL: General del compilador de MIDL, y la opción de Páginas de propiedades Recursos del compilador de recursos. | |
AdditionalOptions | Obtiene o establece opciones que se van a agregar al final de la línea de comandos inmediatamente antes del nombre o de los nombres de archivo.Un ejemplo de ello es si una opción no es compatible con el modelo de objetos. | |
AdditionalUsingDirectories | Obtiene o establece un directorio donde buscar para resolver referencias a archivos que se transfieren a la directiva de directiva #using (C++) .AdditionalUsingDirectories expone la funcionalidad de la opción /AI (Especificar directorios de metadatos) del compilador. | |
AssemblerListingLocation | Obtiene o establece la ruta de acceso relativa y/o el nombre de un archivo de listas de ASM.AssemblerListingLocation expone la funcionalidad de la opción de /Fa del compilador. | |
AssemblerOutput | Obtiene o establece el contenido del archivo de salida del lenguaje de ensamblado.AssemblerOutput expone la funcionalidad de las opciones de /FA, /Fa (Archivo de lista) del compilador. | |
BasicRuntimeChecks | Obtiene o establece un valor para indicar si se van a realizar comprobaciones completas de errores en tiempo de ejecución /RTC (Comprobaciones de errores en tiempo de ejecución)), si se va a comprobar la validez del marco de pila en tiempo de ejecución (/RTC (Comprobaciones de errores en tiempo de ejecución)) y si se van a comprobar las variables no inicializadas en tiempo de ejecución (/RTC (Comprobaciones de errores en tiempo de ejecución)). | |
BrowseInformation | Especifica el nivel de información de examen en el archivo .bsc.BrowseInformation expone la funcionalidad de las opciones de /FR, /Fr (Crear archivo .Sbr) del compilador. | |
BrowseInformationFile | Obtiene o establece el nombre opcional para el archivo de información del explorador.BrowseInformationFile expone la funcionalidad de las opciones de /FR, /Fr (Crear archivo .Sbr) del compilador. | |
BufferSecurityCheck | Obtiene o establece un valor que indica si se van a comprobar las saturaciones del búfer.BufferSecurityCheck expone la funcionalidad de la opción /GS (Comprobación de seguridad del búfer) del compilador. | |
CallingConvention | Obtiene o establece la convención de llamada predeterminada para la aplicación.CallingConvention expone la funcionalidad de las opciones de /Gd, /Gr, /Gz (Convención de llamada) del compilador. | |
CompileAs | Selecciona la opción de lenguaje de compilación para archivos .c y .cpp.CompileAs expone la funcionalidad de las opciones de /Tc, /Tp, /TC, /TP (Especificar el tipo de archivo de código fuente) del compilador. | |
CompileAsManaged | Obtiene o establece un valor que indica las opciones del compilador. | |
CompileOnly | Obtiene o establece un valor que indica si se va a compilar sin vinculación. | |
DebugInformationFormat | Obtiene o establece el tipo de información de depuración generada por el compilador.DebugInformationFormat expone la funcionalidad de las opciones de /Z7, /Zi, /ZI (Formato de la información de depuración) del compilador. | |
DefaultCharIsUnsigned | Obtiene o establece el tipo de carácter predeterminado en sin signo.DefaultCharIsUnsigned expone la funcionalidad de la opción /J (El tipo de carácter predeterminado no tiene signo) del compilador. | |
Detect64BitPortabilityProblems | Obtiene o establece un valor que indica si el compilador comprobará si hay problemas de portabilidad de 64 bits.Detect64BitPortabilityProblems expone la funcionalidad de la opción /Wp64 (Detectar problemas de portabilidad de 64 bits) del compilador. | |
DisableLanguageExtensions | Obtiene o establece un valor que indica si se van a suprimir las extensiones de lenguaje.DisableLanguageExtensions expone la funcionalidad de la opción /Za, /Ze (Deshabilitar extensiones de lenguaje) del compilador. | |
DisableSpecificWarnings | Obtiene o establece un valor que deshabilita los números de advertencia deseados; coloca los números en una lista delimitada por punto y coma.DisableSpecificWarnings expone la funcionalidad de la opción /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Nivel de advertencia) del compilador. | |
EnableEnhancedInstructionSet | Obtiene o establece un valor que permite el uso de instrucciones situadas en procesadores que admiten conjuntos de instrucciones mejorados, como mejoras de SSE y SSE2 a IA-32.EnableEnhancedInstructionSet expone la funcionalidad de la opción /ARCH del compilador. | |
EnableFiberSafeOptimizations | Obtiene o establece un valor que permite optimizar el espacio de memoria al utilizar fibras y acceso de almacenamiento local de subprocesos.EnableFiberSafeOptimizations expone la funcionalidad de la opción /GT (Admitir el almacenamiento local de subprocesos para fibra) del compilador. | |
EnableFunctionLevelLinking | Obtiene o establece un valor que habilita la vinculación en el nivel de función.EnableFunctionLevelLinking expone la funcionalidad de la opción /Gy (Habilitar vinculación en el nivel de función) del compilador. | |
EnableIntrinsicFunctions | Obtiene o establece un valor que indica si se van a usar funciones intrínsecas para generar más rápidamente, pero posiblemente mayor, código.EnableIntrinsicFunctions expone la funcionalidad de la opción /Oi (Generar funciones intrínsecas) del compilador. | |
EnablePREfast | Obtiene o establece si el análisis de código nativo está habilitado. | |
ErrorReporting | Obtiene o establece los informes de errores del compilador. | |
ExceptionHandling | Obtiene o establece un valor usado para las llamadas a destructores para los objetos automáticos durante un desenredo de pila debido a una excepción.ExceptionHandling expone la funcionalidad de la opción /EH (Modelo de control de excepciones) del compilador. | |
ExecutionBucket | Infraestructura. Sólo para uso interno de Microsoft. | |
ExpandAttributedSource | Obtiene o establece un valor que indica si crear un archivo de lista con los atributos expandidos insertados en el archivo de código fuente.ExpandAttributedSource expone la funcionalidad de la opción /Fx (Combinar código insertado) del compilador. | |
FavorSizeOrSpeed | Obtiene o establece un valor que indica si se va a favorecer el tamaño o la velocidad del código.FavorSizeOrSpeed expone la funcionalidad de las opciones de /Os, /Ot (Favorecer código pequeño, favorecer código rápido) del compilador. | |
FloatingPointExceptions | Establece u obtiene si está habilitado el control de excepciones de punto flotante definido por el usuario. | |
floatingPointModel | Establece u obtiene el modelo de punto flotante. | |
ForceConformanceInForLoopScope | Obtiene o establece un valor que indica si forzar el compilador se ajuste al ámbito local en un bucle For.ForceConformanceInForLoopScope expone la funcionalidad de la opción /Zc:forScope (Forzar ajuste en el ámbito del bucle For) del compilador. | |
ForcedIncludeFiles | Obtiene o establece un valor que especifica uno o más archivos de inclusión.ForcedIncludeFiles expone la funcionalidad de la opción /FI (Dar nombre al archivo de inclusión obligatorio) del compilador. | |
ForcedUsingFiles | Fuerza el uso de un nombre de archivo como si se hubiera transferido a la directiva de directiva #using (C++) .ForcedUsingFiles expone la funcionalidad de la opción /FU (Asignar nombre al archivo #using obligatorio) del compilador. | |
FullIncludePath | Obtiene una lista de todos los directorios incluidos en la compilación; es una concatenación de los directorios especificados con /I y los directorios especificados en el cuadro de diálogo VC++ Directories.También se evaluarán las macros presentes en estos directorios. | |
GeneratePreprocessedFile | Obtiene o establece la opción de preprocesamiento para esta configuración.GeneratePreprocessedFile expone la funcionalidad de las opciones de /EP (Preprocesar para stdout sin directivas #line) y de /P (Preprocesar y escribir en un archivo) del compilador. | |
GenerateXMLDocumentationFiles | Establece u obtiene si se van a generar archivos de documentación XML. | |
IgnoreStandardIncludePath | Obtiene o establece un valor que indica si omitir la ruta de inclusión estándar.IgnoreStandardIncludePath expone la funcionalidad de la opción de /X (Omitir rutas de acceso de inclusión estándar) del compilador, la opción de Páginas de propiedades MIDL: General del compilador de MIDL, y la opción de Páginas de propiedades Recursos del compilador de recursos. | |
InlineFunctionExpansion | Obtiene o establece el nivel de expansión de funciones inline para la compilación.InlineFunctionExpansion expone la funcionalidad de las opciones de /Ob (Expansión de funciones inline) del compilador. | |
KeepComments | Obtiene o establece un valor que indica si suprimir la franja de comentarios del código fuente.KeepComments expone la funcionalidad de la opción /C (Conservar los comentarios durante el preprocesamiento) del compilador. | |
MinimalRebuild | Obtiene o establece un valor que indica si se van a detectar los cambios en las definiciones de clase de C++ y volver a compilar los archivos de código fuente afectados.MinimalRebuild expone la funcionalidad de la opción /Gm (Habilitar recompilación mínima) del compilador. | |
ObjectFile | Obtiene o establece un nombre para invalidar el nombre del archivo objeto predeterminado.ObjectFile expone la funcionalidad de la opción /Fo (Nombre del archivo objeto) del compilador. | |
OmitDefaultLibName | Obtiene o establece si se omite el nombre de biblioteca predeterminado. | |
OmitFramePointers | obtiene o establece un valor que indica si suprimir framepointers.OmitFramePointers expone la funcionalidad de la opción /Oy (Omisión de puntero de marco) del compilador. | |
OpenMP | Obtiene o establece si OpenMP está habilitado. | |
Optimization | Obtiene o establece las opciones para la optimización del código.Optimization expone la funcionalidad de /Od (Deshabilitar (Depurar))del compilador, de /O1, /O2 (Minimizar tamaño, maximizar velocidad), y las opciones de /Ox (Optimización completa) . | |
PrecompiledHeaderFile | Obtiene o establece la ruta de acceso y/o el nombre del archivo de encabezado precompilado generado.PrecompiledHeaderFile expone la funcionalidad de la opción /Fp (Dar nombre al archivo .Pch) del compilador. | |
PrecompiledHeaderThrough | Obtiene o establece el nombre del archivo de encabezado que utilizar al crear o usar un archivo de encabezado precompilado.PrecompiledHeaderThrough expone la funcionalidad de /Yc (Crear archivo de encabezado precompilado)del compilador, y las opciones de /Yu (Utilizar el archivo de encabezado precompilado) . | |
PreprocessorDefinitions | Obtiene o establece una o más definiciones del preprocesador.PreprocessorDefinitions expone la funcionalidad de la opción de /D (Definiciones de preprocesador) del compilador, la opción de Páginas de propiedades MIDL: General del compilador de MIDL, y la opción de Páginas de propiedades Recursos del compilador de recursos. | |
ProgramDataBaseFileName | Obtiene o establece un nombre para un archivo .pdb generado por y nombre base para el archivo .idb necesario generado por.ProgramDataBaseFileName expone la funcionalidad de la opción /Fd (Nombre del archivo de base de datos del programa) del compilador. | |
RuntimeLibrary | obtiene o establece la biblioteca en tiempo de ejecución para vincular.RuntimeLibrary expone la funcionalidad de las opciones de /MD, /MT, /LD (Utilizar la biblioteca en tiempo de ejecución) del compilador. | |
RuntimeTypeInfo | Obtiene o establece un valor que indica si se va a agregar código para comprobar los tipos de objeto de C++ en tiempo de ejecución (información en tiempo de ejecución).RuntimeTypeInfo expone la funcionalidad de la opción /GR (Habilitar la información de tipo en tiempo de ejecución) del compilador. | |
ShowIncludes | Obtiene o establece un valor que indica si generar una lista de archivos de inclusión con los resultados del compilador.ShowIncludes expone la funcionalidad de la opción /showIncludes (Enumerar archivos de inclusión) del compilador. | |
SmallerTypeCheck | Obtiene o establece un valor que indica si permitir comprobar conversión a tipos más pequeños.SmallerTypeCheck expone la funcionalidad de la opción /RTC (Comprobaciones de errores en tiempo de ejecución) del compilador. | |
StringPooling | Obtiene o establece un valor que indica si se va a habilitar la agrupación de solo lectura para generar código compilado de menor tamaño.StringPooling expone la funcionalidad de la opción /GF (Eliminar cadenas duplicadas) del compilador. | |
StructMemberAlignment | Especifica 1, 2, 4, 8, o límites de 16 bytes para la alineación de los miembros de struct.StructMemberAlignment expone la funcionalidad de la opción de /Zp (Alineación de miembros de estructura) del compilador de C++ y la opción de Páginas de propiedades MIDL: Avanzadas del compilador de MIDL. | |
SuppressStartupBanner | Suprime la presentación de la pancarta de inicio y los mensajes de información. | |
ToolKind | Obtiene el nombre del tipo de herramienta. | |
toolName | Obtiene el nombre de la herramienta especificada. | |
ToolPath | Obtiene la ruta de acceso a la herramienta especificada. | |
TreatWChar_tAsBuiltInType | Obtiene o establece un valor que indica si wchar_t se va a tratar como un tipo integrado.TreatWChar_tAsBuiltInType expone la funcionalidad de la opción /Zc:wchar_t (wchar_t es un tipo nativo) del compilador. | |
UndefineAllPreprocessorDefinitions | Obtiene o establece un valor que indica si anular valores todo del preprocesador definidos previamente.UndefineAllPreprocessorDefinitions expone la funcionalidad de la opción /U, /u (Anular la definición de símbolos) del compilador. | |
UndefinePreprocessorDefinitions | Obtiene o establece un valor que especifica una o más definiciones del preprocesador.UndefinePreprocessorDefinitions expone la funcionalidad de la opción de /U, /u (Anular la definición de símbolos) del compilador de C++ y la opción de Páginas de propiedades MIDL: Avanzadas del compilador de MIDL. | |
UseFullPaths | Obtiene o establece si se van a usar rutas de acceso completas. | |
UsePrecompiledHeader | Obtiene o establece un valor que permite la creación o el uso de un encabezado precompilado durante la compilación.UsePrecompiledHeader expone la funcionalidad de las opciones de /Yc (Crear archivo de encabezado precompilado) y de /Yu (Utilizar el archivo de encabezado precompilado) del compilador. | |
UseUnicodeResponseFiles | Designa si el compilador usa archivos de respuesta Unicode o no. | |
VCProjectEngine | Obtiene un puntero al motor de proyecto. | |
WarnAsError | Obtiene o establece un valor que indica si permitir que el compilador trate todas las advertencias como errores.WarnAsError expone la funcionalidad de la opción de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Nivel de advertencia) del compilador de C++ y la opción de Páginas de propiedades MIDL: General del compilador de MIDL. | |
WarningLevel | Obtiene o establece un valor que representa cómo el compilador a la hora de comprobar si hay construcciones sospechosas.WarningLevel expone la funcionalidad de la opción de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Nivel de advertencia) del compilador de C++ y la opción de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Nivel de advertencia) del compilador de MIDL. | |
WholeProgramOptimization | Obtiene o establece un valor que indica si se van a habilitar las optimizaciones entre módulos mientras se retrasa la generación de código al tiempo de vinculación.WholeProgramOptimization expone la funcionalidad de la opción /GL (Optimización de todo el programa) del compilador. | |
XMLDocumentationFileName | Obtiene o establece el nombre del archivo de documentación XML. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
get_PropertyOption | Infraestructura. Sólo para uso interno de Microsoft. |
Arriba
Comentarios
Las nuevas opciones de compilador siguientes se agregaron en Visual Studio 2005:
Las opciones del compilador siguientes se quitaron de Visual Studio 2005:
/Op
/G6, /G7, y /GB
Ejemplos
El ejemplo siguiente muestra cómo utilizar las propiedades de EnablePREfast y de AdditionalOptions para establecer el modificador de /analyze:WX- .(Ambas propiedades se requieren para ello). Especificar /analyze:WX- significa que las advertencias de análisis de código no se tratan como errores al compilar con /WX.Para obtener más información, vea /analyze (análisis de código).
Para ejecutar este ejemplo, escriba y ejecute este ejemplo de acuerdo con Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.A continuación, en la nueva instancia de Visual Studio, cargue un proyecto de Visual C++ y utilice el administrador de complementos para activar el complemento.
' 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);
}
}
Vea también
Referencia
Microsoft.VisualStudio.VCProjectEngine (Espacio de nombres)