Partilhar via


Interface VCCLCompilerTool

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

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

Sintaxe

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

O tipo VCCLCompilerTool expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública AdditionalIncludeDirectories Obtém ou define um ou mais diretórios a serem adicionados ao caminho de inclusão.AdditionalIncludeDirectories expõe a funcionalidade do compilador /I (adicionais diretórios de inclusão) , a opção do compilador MIDL Páginas de propriedades MIDL: geral opção e o compilador de recursos Páginas de propriedades de recursos opção.
Propriedade pública AdditionalOptions Obtém ou define as opções a serem adicionadas ao final da linha de comando, imediatamente antes do nome de arquivo (s).Um exemplo é se uma opção não é suportada no modelo de objeto.
Propriedade pública AdditionalUsingDirectories Obtém ou define um diretório para pesquisar para resolver referências de arquivo passaram para o # usando diretiva (C++) diretiva.AdditionalUsingDirectories expõe a funcionalidade do compilador /AI (especificam diretórios de metadados) opção.
Propriedade pública AssemblerListingLocation Obtém ou define o caminho relativo e/ou o nome de um arquivo de listagem ASM.AssemblerListingLocation expõe a funcionalidade do compilador /Fa opção.
Propriedade pública AssemblerOutput Obtém ou define o conteúdo do arquivo de saída de linguagem assembly.AssemblerOutput expõe a funcionalidade do compilador / FA, /Fa (arquivo de listagem) opções.
Propriedade pública BasicRuntimeChecks Obtém ou define um valor para indicar se deseja realizar verificações de erro em tempo de execução total / RTC (verificações de erro em tempo de execução)), verificar a validade de quadro de pilha em tempo de execução (/ RTC (verificações de erro em tempo de execução)) e verifique se há variáveis não inicializadas em tempo de execução (/ RTC (verificações de erro em tempo de execução)).
Propriedade pública BrowseInformation Especifica o nível de informações de pesquisa no arquivo BSC.BrowseInformation expõe a funcionalidade do compilador / FR, /Fr (criar.Arquivo SBR) opções.
Propriedade pública BrowseInformationFile Obtém ou define o nome opcional do arquivo de informações do navegador.BrowseInformationFile expõe a funcionalidade do compilador / FR, /Fr (criar.Arquivo SBR) opções.
Propriedade pública BufferSecurityCheck Obtém ou define um valor que indica se deseja verificar saturações de buffer.BufferSecurityCheck expõe a funcionalidade do compilador /GS (verificação de segurança de buffer) opção.
Propriedade pública CallingConvention Obtém ou define o padrão de convenção de chamada para seu aplicativo.CallingConvention expõe a funcionalidade do compilador / Gd, /Gr, /Gz (convenção de chamada) opções.
Propriedade pública CompileAs Seleciona a opção de idioma para arquivos. c e. cpp de compilação.CompileAs expõe a funcionalidade do compilador / Tc, /Tp, /TC, /TP (Especifica o tipo de arquivo de origem) opções.
Propriedade pública CompileAsManaged Obtém ou define um valor que indica as opções do compilador.
Propriedade pública CompileOnly Obtém ou define um valor indicando se compilar sem vinculação.
Propriedade pública DebugInformationFormat Obtém ou define o tipo de informação de depuração gerado pelo compilador.DebugInformationFormat expõe a funcionalidade do compilador / /Z7, /Zi, /ZI (formato informações de depuração) opções.
Propriedade pública DefaultCharIsUnsigned Obtém ou define o tipo de caractere padrão como não assinados.DefaultCharIsUnsigned expõe a funcionalidade do compilador /J (É do tipo unsigned char de padrão) opção.
Propriedade pública Detect64BitPortabilityProblems Obtém ou define um valor indicando se o compilador irá verificar se há problemas de portabilidade de 64 bits.Detect64BitPortabilityProblems expõe a funcionalidade do compilador / /Wp64 (detectar problemas de portabilidade de 64 bits) opção.
Propriedade pública DisableLanguageExtensions Obtém ou define um valor indicando se suprimir as extensões de linguagem.DisableLanguageExtensions expõe a funcionalidade do compilador / Za, /Ze (extensões de linguagem Disable) opção.
Propriedade pública DisableSpecificWarnings Obtém ou define um valor que desativa os números de aviso desejados; coloca os números em uma lista delimitada de ponto e vírgula.DisableSpecificWarnings expõe a funcionalidade do compilador /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / ganhou (nível de aviso) opção.
Propriedade pública EnableEnhancedInstructionSet Obtém ou define um valor que permite o uso de instruções encontradas nos processadores que suportam conjuntos de instruções avançadas, como, por exemplo, os aprimoramentos SSE e SSE2 para IA-32.EnableEnhancedInstructionSet expõe a funcionalidade do compilador /ARCH opção.
Propriedade pública EnableFiberSafeOptimizations Obtém ou define um valor que permite a otimização do espaço de memória ao usar fibras e acesso de armazenamento local de segmento.EnableFiberSafeOptimizations expõe a funcionalidade do compilador /Gt Observação: (armazenamento Local de segmento de suporte de fibra segura) opção.
Propriedade pública EnableFunctionLevelLinking Obtém ou define um valor que habilita o vínculo do nível de função.EnableFunctionLevelLinking expõe a funcionalidade do compilador /GY (nível de função para ativar vinculação) opção.
Propriedade pública EnableIntrinsicFunctions Obtém ou define um valor que indica se deve usar funções intrínsecas para gerar o código mais rápido, mas possivelmente maior.EnableIntrinsicFunctions expõe a funcionalidade do compilador /Oi (gerar funções intrínsecas) opção.
Propriedade pública EnablePREfast Obtém ou define se a análise de código nativo está habilitada.
Propriedade pública ErrorReporting Obtém ou define o relatório de erros do compilador.
Propriedade pública ExceptionHandling Obtém ou define um valor usado para chamadas de destruidores para objetos automáticos durante um desenrolamento de pilha causado por uma exceção gerada.ExceptionHandling expõe a funcionalidade do compilador /EH (modelo de manipulação de exceção) opção.
Propriedade pública ExecutionBucket Infraestrutura. Somente para uso interno da Microsoft.
Propriedade pública ExpandAttributedSource Obtém ou define um valor que indica se deve criar um arquivo de listagem com atributos expandidos injetados no arquivo de origem.ExpandAttributedSource expõe a funcionalidade do compilador /FX (mesclar o código injetado) opção.
Propriedade pública FavorSizeOrSpeed Obtém ou define um valor que indica se deve favorecer a velocidade de tamanho ou o código do código.FavorSizeOrSpeed expõe a funcionalidade do compilador / /Ot (código de favor pequena, código de favor rápido) Os, opções.
Propriedade pública FloatingPointExceptions Define ou obtém se o tratamento de exceção é ativado de ponto flutuante definido pelo usuário.
Propriedade pública floatingPointModel Define ou obtém a flutuação modelo de ponto.
Propriedade pública ForceConformanceInForLoopScope Obtém ou define um valor que indica se deve forçar o compilador a estar de acordo com o escopo local em um loop for.ForceConformanceInForLoopScope expõe a funcionalidade do compilador /ZC:forScope (forçar conformidade no escopo de loop for) opção.
Propriedade pública ForcedIncludeFiles Obtém ou define um valor que especifica um ou mais forçado incluem arquivos.ForcedIncludeFiles expõe a funcionalidade do compilador /Fi (arquivo incluem o nome forçado) opção.
Propriedade pública ForcedUsingFiles Força o uso de um nome de arquivo, como se ele tivesse sido passado para o # usando diretiva (C++) diretiva.ForcedUsingFiles expõe a funcionalidade do compilador /Fu (nome forçado # using do arquivo) opção.
Propriedade pública FullIncludePath Obtém uma lista de todos os diretórios incluído na compilação; uma concatenação das pastas especificadas com /I e diretórios especificados na VC++ Directories caixa de diálogo.Macros presentes nesses diretórios também serão avaliadas.
Propriedade pública GeneratePreprocessedFile Obtém ou definir a opção de pré-processamento para essa configuração.GeneratePreprocessedFile expõe a funcionalidade do compilador /EP (pré-processo stdout sem # line diretivas) e /P (pré-processo para um arquivo) opções.
Propriedade pública GenerateXMLDocumentationFiles Define ou obtém-se gerar arquivos de documentação XML.
Propriedade pública IgnoreStandardIncludePath Obtém ou define um valor que indica se deve ignorar o padrão de caminho de inclusão.IgnoreStandardIncludePath expõe a funcionalidade do compilador /X (Ignorar padrão incluir caminhos) , a opção do compilador MIDL Páginas de propriedades MIDL: geral opção e o compilador de recursos Páginas de propriedades de recursos opção.
Propriedade pública InlineFunctionExpansion Obtém ou define o nível de expansão da função in-line para a compilação.InlineFunctionExpansion expõe a funcionalidade do compilador /Ob (expansão de função embutida) opções.
Propriedade pública KeepComments Obtém ou define um valor indicando se Suprimir faixa de uma comentário do código-fonte.KeepComments expõe a funcionalidade do compilador /C (preservar comentários durante o pré-processamento) opção.
Propriedade pública MinimalRebuild Obtém ou define um valor indicting se detectar alterações nas definições de classe do C++ e recompilar arquivos-fonte afetado.MinimalRebuild expõe a funcionalidade do compilador /GM (Habilitar recompilação mínima) opção.
Propriedade pública ObjectFile Obtém ou define um nome para substituir o nome de arquivo padrão do objeto.ObjectFile expõe a funcionalidade do compilador /FO (nome do arquivo de objeto) opção.
Propriedade pública OmitDefaultLibName Obtém ou define se o nome da biblioteca padrão for omitido.
Propriedade pública OmitFramePointers Obtém ou define um valor indicando se será eliminada framepointers.OmitFramePointers expõe a funcionalidade do compilador /Oy (omissão do ponteiro do quadro) opção.
Propriedade pública OpenMP Obtém ou defina se OpenMP está habilitado.
Propriedade pública Optimization Obtém ou define as opções de otimização de código.Optimization expõe a funcionalidade do compilador /Od (desativar (depuração)), / O1, /O2. (tamanho de minimizar, maximizar velocidade), e /OX (otimização completa) opções.
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 do compilador /FP (nome.Arquivo de pch) opção.
Propriedade pública PrecompiledHeaderThrough Obtém ou define o nome do arquivo de cabeçalho para usar ao criar ou usar um arquivo de cabeçalho pré-compilado.PrecompiledHeaderThrough expõe a funcionalidade do compilador /Yc (criar arquivo de cabeçalho pré-compilado), e /Yu (arquivo de cabeçalho pré-compilado de uso) opções.
Propriedade pública PreprocessorDefinitions Obtém ou define um ou mais pré-processador.PreprocessorDefinitions expõe a funcionalidade do compilador /D (definições de pré-processador) , a opção do compilador MIDL Páginas de propriedades MIDL: geral opção e o compilador de recursos Páginas de propriedades de recursos opção.
Propriedade pública ProgramDataBaseFileName Obtém ou define um nome para um arquivo. PDB de gerado pelo compilador e um nome de base para o arquivo necessário .idb gerado pelo compilador.ProgramDataBaseFileName expõe a funcionalidade do compilador /FD (nome do arquivo de banco de dados de programa) opção.
Propriedade pública RuntimeLibrary Obtém ou define a biblioteca de tempo de execução para vinculação.RuntimeLibrary expõe a funcionalidade do compilador / MD, /MT, /LD (biblioteca de tempo de execução de uso) opções.
Propriedade pública RuntimeTypeInfo Obtém ou define um valor indicando se é para adicionar código para verificar os tipos de objetos C++ em tempo de execução (informações de tipo de tempo de execução).RuntimeTypeInfo expõe a funcionalidade do compilador /GR (informações de tipo de tempo de execução de enable) opção.
Propriedade pública ShowIncludes Obtém ou define um valor que indica se deve gerar uma lista de arquivos de inclusão com saída do compilador.ShowIncludes expõe a funcionalidade do compilador /showIncludes (lista incluir arquivos) opção.
Propriedade pública SmallerTypeCheck Obtém ou define um valor que indica se deseja ativar a verificação para conversão em tipos menores.SmallerTypeCheck expõe a funcionalidade do compilador / RTC (verificações de erro em tempo de execução) opção.
Propriedade pública StringPooling Obtém ou define um valor indicando se habilitar string somente leitura do pool para gerar menores código compilado.StringPooling expõe a funcionalidade do compilador /GF (eliminar a duplicata de cadeias de caracteres) opção.
Propriedade pública StructMemberAlignment Especifica a 1-, 2, 4, 8- ou limites de 16 bytes para alinhamento de membro de struct.StructMemberAlignment expõe a funcionalidade do compilador C++ /ZP (alinhamento de membro Struct) opção e do compilador MIDL Páginas de propriedades MIDL: Avançado opção.
Propriedade pública SuppressStartupBanner Suprime a exibição das mensagens de faixa e informações de inicialização.
Propriedade pública ToolKind Obtém o nome do tipo de ferramenta.
Propriedade pública toolName Obtém o nome da 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 que indica se tratar wchar_t como um tipo interno.TreatWChar_tAsBuiltInType expõe a funcionalidade do compilador /ZC:wchar_t (wchar_t é o tipo nativo) opção.
Propriedade pública UndefineAllPreprocessorDefinitions Obtém ou define um valor que indica se cancele todos os valores de pré-processador definidos anteriormente.UndefineAllPreprocessorDefinitions expõe a funcionalidade do compilador / U, /u (cancele símbolos) opção.
Propriedade pública UndefinePreprocessorDefinitions Obtém ou define um valor que especifica que uma ou mais remoções de definição.UndefinePreprocessorDefinitions expõe a funcionalidade do compilador C++ / U, /u (cancele símbolos) opção e do compilador MIDL Páginas de propriedades MIDL: Avançado opção.
Propriedade pública UseFullPaths Obtém ou define se deve 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 do compilador /Yc (criar arquivo de cabeçalho pré-compilado) e /Yu (arquivo de cabeçalho pré-compilado de uso) opções.
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 do projeto.
Propriedade pública WarnAsError Obtém ou define um valor que indica se deseja ativar o compilador trate todos os avisos como erros.WarnAsError expõe a funcionalidade do compilador C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / ganhou (nível de aviso) opção e do compilador MIDL Páginas de propriedades MIDL: geral opção.
Propriedade pública WarningLevel Obtém ou define um valor que representa como, estritamente o compilador verifica por construções potencialmente suspeitas.WarningLevel expõe a funcionalidade do compilador C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / ganhou (nível de aviso) opção e do compilador MIDL /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, / ganhou (nível de aviso) opção.
Propriedade pública WholeProgramOptimization Obtém ou define um valor que indica se deseja ativar otimizações de módulo cruzado, atrasando a geração de código para link-time.WholeProgramOptimization expõe a funcionalidade do compilador /GL (otimização de programa total) opção.
Propriedade pública XMLDocumentationFileName Obtém ou define o nome do arquivo de documentação XML.

Superior

Métodos

  Nome Descrição
Método público get_PropertyOption Infraestrutura. Somente para uso interno da Microsoft.

Superior

Comentários

As opções do compilador novos foram adicionadas em Visual Studio 2005:

As opções do compilador foram removidas na Visual Studio 2005:

  • /Op

  • / G6, /G7 e por GB

Exemplos

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

Para executar esse exemplo, inserir e executar esse exemplo, conforme descrito no Como: compilar e executar os exemplos de código de modelo de objeto de automação.Em seguida, na nova instância do Visual Studio, carregar um Visual C++ de projeto e use o Gerenciador de suplementos para ativar o add-in.

' 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