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("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
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 /I (Directorios de inclusión adicionales) del compilador, la opción Páginas de propiedades MIDL: General del compilador de MIDL, y la opción 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 de búsqueda para resolver las referencias a archivos que se transfieren a la directiva #using (Directiva) (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 nombre de un archivo de listas de ASM.AssemblerListingLocation expone la funcionalidad de la opción /Fa del compilador. | |
AssemblerOutput | Obtiene o establece el contenido del archivo de salida del lenguaje de ensamblado.AssemblerOutput expone la funcionalidad de las opciones /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 información de examen en el archivo .bsc.BrowseInformation expone la funcionalidad de las opciones /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 /FR, /Fr (Crear archivo .Sbr) del compilador. | |
BufferSecurityCheck | Obtiene o establece un valor que indica si se van a comprobar las saturaciones de 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 de la aplicación.CallingConvention expone la funcionalidad de las opciones /Gd, /Gr, /Gv, /Gz (Convención de llamada) del compilador. | |
CompileAs | Selecciona la opción de lenguaje de compilación para los archivos .C y .CPP.CompileAs expone la funcionalidad de las opciones /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 /Z7, /Zi, /ZI (Formato de la información de depuración) del compilador. | |
DefaultCharIsUnsigned | Obtiene o establece el tipo de carácter predeterminado que se va a firmar.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 las 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 cuando se usa fibra y acceso de almacenamiento local para los 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 código más rápido, pero posiblemente de mayor tamaño.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 objetos automáticos durante un desenredo de pila debido a una excepción producida.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 se ha de 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 /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 se va a forzar el compilador para cumplir con el á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 forzada.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 #using (Directiva) (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 /EP (Preprocesar para stdout sin directivas #line) y /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 se va a omitir la ruta de inclusión estándar.IgnoreStandardIncludePath expone la funcionalidad de la opción /X (Omitir rutas de acceso de inclusión estándar) del compilador, la opción Páginas de propiedades MIDL: General del compilador de MIDL, y la opción Páginas de propiedades Recursos del compilador de recursos. | |
InlineFunctionExpansion | Obtiene o establece el nivel de expansión de la función insertada para la compilación.InlineFunctionExpansion expone la funcionalidad de las opciones /Ob (Expansión de funciones inline) del compilador. | |
KeepComments | Obtiene o establece un valor que indica si se va a 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 se van a 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 se van a suprimir los punteros de marcos.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.Optimization expone la funcionalidad de las opciones /Od (Deshabilitar (Depurar)), /O1, /O2 (Minimizar tamaño, maximizar velocidad) y /Ox (Optimización completa) del compilador. | |
PrecompiledHeaderFile | Obtiene o establece la ruta de acceso y/o 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 archivo de encabezado que se va a usar al crear o usar un archivo de encabezado precompilado.PrecompiledHeaderThrough expone la funcionalidad de las opciones /Yc (Crear archivo de encabezado precompilado) y /Yu (Utilizar el archivo de encabezado precompilado) del compilador. | |
PreprocessorDefinitions | Obtiene o establece una o más definiciones del preprocesador.PreprocessorDefinitions expone la funcionalidad de la opción /D (Definiciones de preprocesador) del compilador, la opción Páginas de propiedades MIDL: General del compilador de MIDL, y la opción Páginas de propiedades Recursos del compilador de recursos. | |
ProgramDataBaseFileName | Obtiene o establece un nombre para un archivo .pdb generado por el compilador y nombre base para el archivo .idb necesario generado por el compilador.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 de tiempo de ejecución para los vínculos.RuntimeLibrary expone la funcionalidad de las opciones /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 de tipo 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 se va a generar una lista de archivos de inclusión con la salida 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 se ha de permitir la comprobación para la 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 cadenas 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 los límites de 1, 2, 4, 8 o 16 bytes para la alineación de los miembros de struct.StructMemberAlignment expone la funcionalidad de la opción /Zp (Alineación de miembros de estructura) del compilador de C++ y la opción 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 no se van a definir todos los valores de 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 /U, /u (Anular la definición de símbolos) del compilador de C++ y la opción 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 habilita la creación o el uso de un encabezado precompilado durante la compilación.UsePrecompiledHeader expone la funcionalidad de las opciones /Yc (Crear archivo de encabezado precompilado) y /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 se habilita el compilador para tratar todas las advertencias como errores.WarnAsError expone la funcionalidad de la opción /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Nivel de advertencia) del compilador de C++ y la opción Páginas de propiedades MIDL: General del compilador de MIDL. | |
WarningLevel | Obtiene o establece un valor que representa lo estricto que debe ser el compilador a la hora de comprobar posibles construcciones sospechosas.WarningLevel expone la funcionalidad de la opción /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Nivel de advertencia) del compilador de C++ y la opción /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 del compilador siguientes se agregaron en Visual Studio 2005:
Las siguientes opciones del compilador se quitaron de Visual Studio 2005:
/Op
/G6, /G7, y /GB
Ejemplos
El ejemplo siguiente muestra cómo utilizar las propiedades EnablePREfast y AdditionalOptions para establecer el modificador /analyze:WX- . (Ambas propiedades son necesarios para hacerlo.) Especificar /analyze:WX- significa que las advertencias de análisis de código no se tratarán 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 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)