Partilhar via


Interface VCCLCompilerTool

O objeto de VCCLCompilerTool expõe a funcionalidade das opções de compilador C++. Consulte Opções do compilador para obter mais informações sobre as opções do compilador.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (em Microsoft.VisualStudio.VCProjectEngine.dll)

Sintaxe

'Declaração
<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

O tipo VCCLCompilerTool expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública AdditionalIncludeDirectories Obtém ou define um ou mais pastas para adicionar o caminho incluir.AdditionalIncludeDirectories expõe a funcionalidade de opção /I (diretórios de inclusão adicionais) do compilador, Páginas de propriedade MDL: geral de opção de compilador MIDL, e a opção Páginas de propriedades Recursos de compilador resource.
Propriedade pública AdditionalOptions Obtém ou define opções adicionar ao final da linha de comando imediatamente antes do nome de arquivo (s).Um exemplo é se uma opção não é suportado no modelo de objeto.
Propriedade pública AdditionalUsingDirectories Obtém ou define um diretório para procurar para resolver referências de arquivo passados para a diretiva Diretiva #using (C++) .AdditionalUsingDirectories expõe a funcionalidade padrão de /AI (especificar diretórios de metadados) do compilador.
Propriedade pública AssemblerListingLocation Obtém ou define o caminho relativo e/ou o nome para um arquivo de listagem de ASM.AssemblerListingLocation expõe a funcionalidade padrão de /Fa do compilador.
Propriedade pública AssemblerOutput Obtém ou define o conteúdo do arquivo de saída de linguagem de assembly ".AssemblerOutput expõe a funcionalidade das opções de /FA, /Fa (listando arquivo) do compilador.
Propriedade pública BasicRuntimeChecks Obtém ou define um valor para indicar se realizar verificações de erro em tempo de execução completas /RTC (verificações de erro de tempo de execução)), verificar a validade de quadro de pilha em tempo de execução (/RTC (verificações de erro de tempo de execução)), e verifique para ver se há variáveis não inicializada em tempo de execução (/RTC (verificações de erro de tempo de execução)).
Propriedade pública BrowseInformation Especifica o nível de procurar informações no arquivo de .bsc.BrowseInformation expõe a funcionalidade das opções de /FR, /Fr (criar arquivo .Sbr) do compilador.
Propriedade pública BrowseInformationFile Obtém ou define o nome opcional para o arquivo de informações do navegador.BrowseInformationFile expõe a funcionalidade das opções de /FR, /Fr (criar arquivo .Sbr) do compilador.
Propriedade pública BufferSecurityCheck Obtém ou define um valor indicando se verificar o buffer passa.BufferSecurityCheck expõe a funcionalidade de opção de compilador /GS (verificação de segurança do buffer) .
Propriedade pública CallingConvention Obtém ou define a convenção padrão de chamada para seu aplicativo.CallingConvention expõe a funcionalidade das opções de /Gd, /Gr, /Gv, /Gz (convenção de chamada) do compilador.
Propriedade pública CompileAs Selects compila a opção de linguagem para arquivos de .c e de .cpp.CompileAs expõe a funcionalidade das opções de /Tc, /Tp, /TC, /TP (especificar tipo de arquivo de origem) do compilador.
Propriedade pública CompileAsManaged Obtém ou define um valor que indica opções do compilador.
Propriedade pública CompileOnly Obtém ou define um valor indicando se compilar sem vincular.
Propriedade pública DebugInformationFormat Obtém ou define o tipo de informações de depuração gerado pelo compilador.DebugInformationFormat expõe a funcionalidade das opções de /Z7, /Zi, /ZI (depurar formato de informações) do compilador.
Propriedade pública DefaultCharIsUnsigned Obtém ou define o tipo padrão de char para sem sinal.DefaultCharIsUnsigned expõe a funcionalidade padrão de /J (o tipo char padrão não é assinado) do compilador.
Propriedade pública Detect64BitPortabilityProblems Obtém ou define um valor indicando se o compilador verificará para ver se há problemas de 64 bits de portabilidade.Detect64BitPortabilityProblems expõe a funcionalidade padrão de /Wp64 (detectar problemas de portabilidade de 64 bits) do compilador.
Propriedade pública DisableLanguageExtensions Obtém ou define um valor indicando se suprimir extensões de idioma.DisableLanguageExtensions expõe a funcionalidade padrão de /Za, /Ze (desabilitar extensões de linguagem) do compilador.
Propriedade pública DisableSpecificWarnings Obtém ou define um valor que desativa os números de aviso; desejados coloca números em uma lista delimitada ponto-e-vírgula.DisableSpecificWarnings expõe a funcionalidade padrão de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (nível de aviso) do compilador.
Propriedade pública EnableEnhancedInstructionSet Obtém ou define um valor que permite o uso das instruções encontradas nos processadores que suportam conjuntos de declaração avançados, como o SSE e aprimoramentos SSE2 ao IA-32.EnableEnhancedInstructionSet expõe a funcionalidade padrão de /ARCH do compilador.
Propriedade pública EnableFiberSafeOptimizations Obtém ou define um valor que permite a otimização de espaço de memória quando usando fibras encadeamento e acesso de armazenamento local.EnableFiberSafeOptimizations expõe a funcionalidade padrão de /GT (armazenamento local de thread seguro de fibra de suporte) do compilador.
Propriedade pública EnableFunctionLevelLinking Obtém ou define um valor que permite vincular de gerenciamento de função nível.EnableFunctionLevelLinking expõe a funcionalidade padrão de /Gy (habilitar vinculação do nível de função) do compilador.
Propriedade pública EnableIntrinsicFunctions Obtém ou define um valor indicando se usar funções intrínsecas para gerar mais rapidamente, mas possivelmente maior, código.EnableIntrinsicFunctions expõe a funcionalidade padrão de /Oi (gerar funções intrínsecas) do compilador.
Propriedade pública EnablePREfast Obtém ou define se a análise de código nativo é ativada.
Propriedade pública ErrorReporting Obtém ou define o relatório de erros de compilador.
Propriedade pública ExceptionHandling Obtém ou define um valor que usado para chamadas aos destruidores para objetos automático durante uma pilha desenrola causado por uma exceção lançada.ExceptionHandling expõe a funcionalidade padrão de /EH (modelo de tratamento de exceções) do compilador.
Propriedade pública ExecutionBucket Infraestrutura. Uso interno do Microsoft somente.
Propriedade pública ExpandAttributedSource Obtém ou define um valor indicando se criar um arquivo de listagem com os atributos expandidos injetado no arquivo de origem.ExpandAttributedSource expõe a funcionalidade padrão de /Fx (mesclar código injetado) do compilador.
Propriedade pública FavorSizeOrSpeed Obtém ou define um valor indicando se preferir o tamanho de código ou código apressa-se.FavorSizeOrSpeed expõe a funcionalidade das opções de /Os, /Ot (favorecer código pequeno, favorecer código rápido) do compilador.
Propriedade pública FloatingPointExceptions Obtém ou define se a manipulação de exceção definida pelo usuário de ponto flutuante está habilitada.
Propriedade pública floatingPointModel Obtém ou define o modelo de ponto flutuante.
Propriedade pública ForceConformanceInForLoopScope Obtém ou define um valor indicando se forçar o compilador para estar de acordo com o escopo local em para o loop.ForceConformanceInForLoopScope expõe a funcionalidade padrão de /Zc:forScope (forçar conformidade para escopo de loop) do compilador.
Propriedade pública ForcedIncludeFiles Obtém ou define um valor que especifica um ou mais forçados inclui arquivos.ForcedIncludeFiles expõe a funcionalidade padrão de /FI (Arquivo de inclusão forçado do nome) do compilador.
Propriedade pública ForcedUsingFiles Força o uso de um arquivo como se tivesse sido passado para a diretiva Diretiva #using (C++) .ForcedUsingFiles expõe a funcionalidade padrão de /FU (nome forçado #usando arquivo) do compilador.
Propriedade pública FullIncludePath Obtém uma lista de todos os diretórios incluídos na compilação; uma concatenação de diretórios especificados com /I e os diretórios especificados na caixa de diálogo VC++ Directories .Macros atuais nesses diretórios serão avaliados também.
Propriedade pública GeneratePreprocessedFile Obtém ou define a opção de pré-processamento para essa configuração.GeneratePreprocessedFile expõe a funcionalidade das opções de /EP (pré-processar para stdout sem diretivas #line) e de /P (pré-processar em um arquivo) do compilador.
Propriedade pública GenerateXMLDocumentationFiles Obtém ou define se gerar documentação XML arquivos.
Propriedade pública IgnoreStandardIncludePath Obtém ou define um valor que indica se ignorar o padrão inclui o caminho.IgnoreStandardIncludePath expõe a funcionalidade padrão de /X (ignorar caminhos de inclusão padrão) do compilador, padrão de Páginas de propriedade MDL: geral do compilador de MIDL, e a opção de Páginas de propriedades Recursos de compilador resource.
Propriedade pública InlineFunctionExpansion Obtém ou define o nível de expansão de função in-line para a compilação.InlineFunctionExpansion expõe a funcionalidade das opções de /Ob (expansão de função embutida) do compilador.
Propriedade pública KeepComments Obtém ou define um valor indicando se suprimir uma faixa de comentário de origem.KeepComments expõe a funcionalidade padrão de /C (preservar comentários durante o pré-processamento) do compilador.
Propriedade pública MinimalRebuild Obtém ou define um valor que processa se detectar as alterações nas definições de classe do C++ e recompilar arquivos de origem afetados.MinimalRebuild expõe a funcionalidade padrão de /Gm (habilitar recompilação manual) do compilador.
Propriedade pública ObjectFile Obtém ou define um nome para substituir o nome de arquivo padrão de objeto.ObjectFile expõe a funcionalidade padrão de /Fo (Nome do arquivo de objeto) do compilador.
Propriedade pública OmitDefaultLibName Obtém ou define se o nome da biblioteca padrão é omitido.
Propriedade pública OmitFramePointers Obtém ou define um valor indicando se suprimir framepointers.OmitFramePointers expõe a funcionalidade padrão de /Oy (omissão do ponteiro de quadro) do compilador.
Propriedade pública OpenMP Obtém ou define se OpenMP está habilitado.
Propriedade pública Optimization Obtém ou define opções para otimização de código.Optimization expõe a funcionalidade de /Od (desabilitar [depuração])do compilador, de /O1, /O2 (minimizar tamanho, maximizar velocidade), e opções de /Ox (otimização total) .
Propriedade pública PrecompiledHeaderFile Obtém ou define o caminho e/ou o nome do arquivo de cabeçalho pré-compilado gerado.PrecompiledHeaderFile expõe a funcionalidade padrão de /Fp (nomear arquivo .Pch) do compilador.
Propriedade pública PrecompiledHeaderThrough Obtém ou define o nome de arquivo do cabeçalho para usar ao criar ou ao usar um arquivo de cabeçalho pré-compilado.PrecompiledHeaderThrough expõe a funcionalidade de /Yc (criar arquivo de cabeçalho pré-compilado)do compilador, e opções de /Yu (usar arquivo de cabeçalho pré-compilado) .
Propriedade pública PreprocessorDefinitions Obtém ou define um ou mais pré-processador definem.PreprocessorDefinitions expõe a funcionalidade de opção de compilador /D (definições de pré-processador) de, a opção do compilador Páginas de propriedade MDL: geral de MIDL, e a opção Páginas de propriedades Recursos de compilador resource.
Propriedade pública ProgramDataBaseFileName Obtém ou define um nome para um arquivo compilador-geradas de .pdb e um nome de base para o arquivo compilador-geradas necessária de .idb.ProgramDataBaseFileName expõe a funcionalidade padrão de /Fd (nome do arquivo de banco de dados do programa) do compilador.
Propriedade pública RuntimeLibrary Obtém ou define a biblioteca em tempo de execução para vincular.RuntimeLibrary expõe a funcionalidade das opções de /MD, /MT, /LD (usar biblioteca em tempo de execução) do compilador.
Propriedade pública RuntimeTypeInfo Obtém ou define um valor indicando se adicione código para verificar os tipos de objeto de C++ em tempo de execução (o tempo de execução digita informações).RuntimeTypeInfo expõe a funcionalidade padrão de /GR (habilitar informações de tipo de tempo de execução) do compilador.
Propriedade pública ShowIncludes Obtém ou define um valor indicando se gerar uma lista de incluem arquivos com saída do compilador.ShowIncludes expõe a funcionalidade padrão de /showIncludes (listar arquivos de inclusão) do compilador.
Propriedade pública SmallerTypeCheck Obtém ou define um valor indicando se ativar verificar a conversão para tipos menores.SmallerTypeCheck expõe a funcionalidade padrão de /RTC (verificações de erro de tempo de execução) do compilador.
Propriedade pública StringPooling Obtém ou define um valor indicando se ativar a cadeia de caracteres pool que somente leitura para gerar o código compilado menor.StringPooling expõe a funcionalidade padrão de /GF (eliminar cadeias de caracteres duplicadas) do compilador.
Propriedade pública StructMemberAlignment Especifica 1, 2, 4, 8 - 16, ou limites de byte para o alinhamento de membro de estrutura.StructMemberAlignment expõe a funcionalidade padrão de /Zp (alinhamento de membro do Struct) de compilador e C++ padrão de Páginas de propriedade MIDL: avançado do compilador de MIDL.
Propriedade pública SuppressStartupBanner Suprime a exibição da faixa de inicialização e de mensagens de informações.
Propriedade pública ToolKind Obtém o nome do tipo de ferramenta.
Propriedade pública toolName Obtém o nome de ferramenta especificada.
Propriedade pública ToolPath Obtém o caminho para a ferramenta especificada.
Propriedade pública TreatWChar_tAsBuiltInType Obtém ou define um valor indicando se o manipular wchar_t como um tipo interno.TreatWChar_tAsBuiltInType expõe a funcionalidade padrão de /Zc:wchar_t (wchar_t é do tipo nativo) do compilador.
Propriedade pública UndefineAllPreprocessorDefinitions Obtém ou define um valor indicando se undefine todos os valores definidos anteriormente pré-processamento.UndefineAllPreprocessorDefinitions expõe a funcionalidade padrão de /U, /u (indefinir símbolos) do compilador.
Propriedade pública UndefinePreprocessorDefinitions Obtém ou define um valor que especifica um ou mais pré-processador undefines.UndefinePreprocessorDefinitions expõe a funcionalidade padrão de /U, /u (indefinir símbolos) de compilador e C++ padrão de Páginas de propriedade MIDL: avançado do compilador de MIDL.
Propriedade pública UseFullPaths Obtém ou define usar caminhos completos.
Propriedade pública UsePrecompiledHeader Obtém ou define um valor que permite a criação ou o uso de um cabeçalho pré-compilado durante a compilação.UsePrecompiledHeader expõe a funcionalidade das opções de /Yc (criar arquivo de cabeçalho pré-compilado) e de /Yu (usar arquivo de cabeçalho pré-compilado) do compilador.
Propriedade pública UseUnicodeResponseFiles Designa se o compilador usa arquivos de resposta Unicode, ou não.
Propriedade pública VCProjectEngine Obtém um ponteiro para o mecanismo de projeto.
Propriedade pública WarnAsError Obtém ou define um valor indicando se que o compilador para tratar todos os avisos como erros.WarnAsError expõe a funcionalidade padrão de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (nível de aviso) de compilador e C++ padrão de Páginas de propriedade MDL: geral do compilador de MIDL.
Propriedade pública WarningLevel Obtém ou define um valor que representa como estritamente o compilador verifica se há construções potencialmente suspeitas.WarningLevel expõe a funcionalidade padrão de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (nível de aviso) de compilador e C++ padrão de /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (nível de aviso) do compilador de MIDL.
Propriedade pública WholeProgramOptimization Obtém ou define um valor indicando se ativar otimizações entre módulo atrasando a geração de código para a hora de link.WholeProgramOptimization expõe a funcionalidade padrão de /GL (otimização de todo o programa) do compilador.
Propriedade pública XMLDocumentationFileName Obtém ou define o nome de arquivo de documentação XML.

Superior

Métodos

  Nome Descrição
Método público get_PropertyOption Infraestrutura. Uso interno do Microsoft somente.

Superior

Comentários

As seguintes novas opções de compilador foram adicionadas em Visual Studio 2005:

As seguintes opções de compilador foram removidas em Visual Studio 2005:

  • /Op

  • /G6, /G7, e /GB

Exemplos

O exemplo a seguir demonstra como usar as propriedades de EnablePREfast e de AdditionalOptions para definir a opção de /analyze:WX- . (Ambas as propriedades são necessárias para fazer isso.) Especificar /analyze:WX- significa que os avisos de análise de código não serão tratados como erros ao compilar com /WX. Para obter mais informações, consulte /analyze (Análise do código).

Para executar este exemplo, digite e executar este exemplo de acordo com Como compilar e executar os exemplos de código do modelo de objeto Automation. Em seguida, na nova instância de Visual Studio, carregar um projeto de Visual C++ e use o gerenciador do suplemento para ativar o suplemento.

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

Consulte também

Referência

Namespace Microsoft.VisualStudio.VCProjectEngine

Outros recursos

Walkthrough: Using /clr:pure Features