Поделиться через


VCCLCompilerTool - интерфейс

Объект VCCLCompilerTool предоставляет функциональные возможности параметров компилятора C++.Дополнительные сведения о параметрах компилятора см. в разделе Параметры компилятора.

Пространство имен:  Microsoft.VisualStudio.VCProjectEngine
Сборка:  Microsoft.VisualStudio.VCProjectEngine (в Microsoft.VisualStudio.VCProjectEngine.dll)

Синтаксис

'Декларация
<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

Тип VCCLCompilerTool предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство AdditionalIncludeDirectories Получает или задает один или несколько каталогов, добавляемых в путь к включаемым файлам.AdditionalIncludeDirectories предоставляет функциональные возможности компилятора /I (дополнительные каталоги включения) параметр компилятор MIDL Страницы свойств "MIDL": страница "Общие" параметр, и компилятор ресурсов Страницы свойств ресурсов параметр.
Открытое свойство AdditionalOptions Получает или задает параметры для добавления в конец командной строки непосредственно перед именами файлов.Примером является параметр, не поддерживаемый в объектной модели.
Открытое свойство AdditionalUsingDirectories Возвращает или задает каталог, в котором необходимо выполнить поиск для разрешения ссылок на файлы, передаваемые Директивы #using (C++) директива.Свойство AdditionalUsingDirectories предоставляет функциональные возможности параметра /AI (указание каталогов метаданных) компилятора.
Открытое свойство AssemblerListingLocation Получает или задает относительный путь и/или имя файла asm-списка.AssemblerListingLocation предоставляет функциональные возможности компилятора /Fa параметр.
Открытое свойство AssemblerOutput Возвращает или задает содержимое выходного файла языка ассемблера.AssemblerOutput предоставляет функциональные возможности компилятора /FA, /Fa (файл листинга) параметры.
Открытое свойство BasicRuntimeChecks Получает или задает значение, указывающее, выполнять ли полную проверку ошибок во время выполнения /RTC (проверки ошибок во время выполнения)), проверку кадра стека во время выполнения (/RTC (проверки ошибок во время выполнения)) и проверку неинициализированных переменных во время выполнения (/RTC (проверки ошибок во время выполнения)).
Открытое свойство BrowseInformation Указывает уровень просмотрите сведения в файл bsc.BrowseInformation предоставляет функциональные возможности компилятора /FR, /Fr (создать SBR-файл) параметры.
Открытое свойство BrowseInformationFile Получает или задает необязательное имя файла для управления обозревателя.BrowseInformationFile предоставляет функциональные возможности компилятора /FR, /Fr (создать SBR-файл) параметры.
Открытое свойство BufferSecurityCheck Возвращает или задает значение, указывающее, следует ли проверять переливаются через границы для буфера.Свойство BufferSecurityCheck предоставляет функциональные возможности параметра Параметр /GS (проверка безопасности буфера) компилятора.
Открытое свойство CallingConvention Возвращает или задает соглашение о вызовах по умолчанию для приложения.CallingConvention предоставляет функциональные возможности компилятора /Gd, /Gr, /Gz (соглашения о вызовах) параметры.
Открытое свойство CompileAs Selects будет компилироваться параметр языка для файлов c и cpp.CompileAs предоставляет функциональные возможности компилятора Параметры /Tc, /Tp, /TC, /TP (определение типа исходного файла) параметры.
Открытое свойство CompileAsManaged Получает или задает значение, указывающее параметры компилятора.
Открытое свойство CompileOnly Получает или задает значение, указывающее, выполнять ли компиляцию без компоновки.
Открытое свойство DebugInformationFormat Возвращает или задает тип сведений отладки, создаваемый компилятором.DebugInformationFormat предоставляет функциональные возможности компилятора /Z7, /Zi, /ZI (формат отладочной информации) параметры.
Открытое свойство DefaultCharIsUnsigned Получает или задает стандартный тип char, беззнаковый.Свойство DefaultCharIsUnsigned предоставляет функциональные возможности параметра /J (тип знака по умолчанию не подписан) компилятора.
Открытое свойство Detect64BitPortabilityProblems Возвращает или задает значение, указывающее, проверяет ли компилятор ошибки переносимости на 64-разрядные платформы, 64.Свойство Detect64BitPortabilityProblems предоставляет функциональные возможности параметра /Wp64 (выявление проблем переносимости на 64-разрядные платформы) компилятора.
Открытое свойство DisableLanguageExtensions Возвращает или задает значение, указывающее, нужно ли отключить расширения языка.Свойство DisableLanguageExtensions предоставляет функциональные возможности параметра /Za, /Ze (отключить расширения языка) компилятора.
Открытое свойство DisableSpecificWarnings Возвращает или задает значение, которое запрещает нужные предупреждения числа; помещает числа в список разделенных точкой с запятой.Свойство DisableSpecificWarnings предоставляет функциональные возможности параметра /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) компилятора.
Открытое свойство EnableEnhancedInstructionSet Возвращает или задает значение, которая включает использование инструкций, найденных на процессорах, которые поддерживают наборы инструкции, как расширения SSE и SSE2 для IA-32.Свойство EnableEnhancedInstructionSet предоставляет функциональные возможности параметра /ARCH компилятора.
Открытое свойство EnableFiberSafeOptimizations Возвращает или задает значение, которое включает оптимизацию области памяти при использовании волокон и потоку доступ локального хранилища.Свойство EnableFiberSafeOptimizations предоставляет функциональные возможности параметра /GT (поддержка локальной памяти потока, безопасной относительно волокон) компилятора.
Открытое свойство EnableFunctionLevelLinking Возвращает или задает значение, включающее компоновку на уровне функций.Свойство EnableFunctionLevelLinking предоставляет функциональные возможности параметра /Gy (включение компоновки на уровне функций) компилятора.
Открытое свойство EnableIntrinsicFunctions Возвращает или задает значение, указывающее, следует ли использовать встроенные функции для создания более быстро, но, возможно велико, код.Свойство EnableIntrinsicFunctions предоставляет функциональные возможности параметра /Oi (создание встроенных функций) компилятора.
Открытое свойство EnablePREfast Получает или задает значение, указывающее, включен ли анализ машинного кода.
Открытое свойство ErrorReporting Получает или задает запись внутренних ошибок компилятора.
Открытое свойство ExceptionHandling Возвращает или задает значение, используемое для вызовов деструкторам для автоматических объектов во время очистки стека исключение вызвано исключение.Свойство ExceptionHandling предоставляет функциональные возможности параметра Параметр /EH (модель обработки исключений) компилятора.
Открытое свойство ExecutionBucket Инфраструктура. Только для внутреннего использования в корпорации Майкрософт.
Открытое свойство ExpandAttributedSource Возвращает или задает значение, указывающее, следует ли создать файл листинга с впрыснутые без оболочки атрибуты в исходный файл.Свойство ExpandAttributedSource предоставляет функциональные возможности параметра /Fx (объединение подставляемого кода) компилятора.
Открытое свойство FavorSizeOrSpeed Возвращает или задает значение, указывающее, является ли предпочтение размера кода или скорости кода.FavorSizeOrSpeed предоставляет функциональные возможности компилятора /Os, /Ot (приоритет размера кода или скорости кода) параметры.
Открытое свойство FloatingPointExceptions Получает или задает значение, указывающее, разрешено ли пользовательское определение обработки исключений для вычислений с плавающей запятой.
Открытое свойство floatingPointModel Получает или задает модель вычислений с плавающей запятой.
Открытое свойство ForceConformanceInForLoopScope Возвращает или задает значение, указывающее, использовать ли принудительную компилятора соответствие локальной области в цикл for.Свойство ForceConformanceInForLoopScope предоставляет функциональные возможности параметра /Zc:forScope (принудительное обеспечение соответствия в области видимости оператора for) компилятора.
Открытое свойство ForcedIncludeFiles Возвращает или задает значение, указывающее один или несколько обязательно, которые включают файлы.Свойство ForcedIncludeFiles предоставляет функциональные возможности параметра /FI (имя принудительно включаемого файла) компилятора.
Открытое свойство ForcedUsingFiles Принудительное использование имени файла, как если бы она была передана в Директивы #using (C++) директива.Свойство ForcedUsingFiles предоставляет функциональные возможности параметра /FU (именование файла с принудительно используемым атрибутом #using) компилятора.
Открытое свойство FullIncludePath Получает список всех каталогов, включенных в сборку; объединение каталогов, указанных в параметре /I, и каталогов, указанных в диалоговом окне VC++ Directories.Также проверяются макросы, содержащиеся в этих каталогах.
Открытое свойство GeneratePreprocessedFile Получает или задает параметр препроцессора для этой конфигурации.GeneratePreprocessedFile предоставляет функциональные возможности компилятора /EP (предварительная обработка в поток стандартных выходных файлов без директив #line) и /P (вывод результатов предварительной обработки в файл) параметры.
Открытое свойство GenerateXMLDocumentationFiles Получает или задает значение, указывающее, создаются ли XML-файлы документации.
Открытое свойство IgnoreStandardIncludePath Возвращает или задает значение, указывающее, следует ли игнорировать стандартный содержит путь.IgnoreStandardIncludePath предоставляет функциональные возможности компилятора /X (Отклонение стандартных путей включения) параметр компилятор MIDL Страницы свойств "MIDL": страница "Общие" параметр, и компилятор ресурсов Страницы свойств ресурсов параметр.
Открытое свойство InlineFunctionExpansion Возвращает или задает уровень расширения встроенной функции для построения.InlineFunctionExpansion предоставляет функциональные возможности компилятора Параметр /Ob (расширение встроенных функций) параметры.
Открытое свойство KeepComments Возвращает или задает значение, указывающее, следует ли подавлять прокладку комментария из исходного кода.Свойство KeepComments предоставляет функциональные возможности параметра /C (сохранять комментарии во время предварительной обработки) компилятора.
Открытое свойство MinimalRebuild Возвращает или задает значение обвинение предъявляя ли обнаружение изменений к определениям классов C++ и перекомпилировать затронутые исходные файлы.Свойство MinimalRebuild предоставляет функциональные возможности параметра /Gm (включение минимального перепостроения) компилятора.
Открытое свойство ObjectFile Возвращает или задает имя, переопределяющее имя файла объекта по умолчанию.Свойство ObjectFile предоставляет функциональные возможности параметра /Fo (имя объектного файла) компилятора.
Открытое свойство OmitDefaultLibName Получает или задает значение, указывающее, опускается ли имя библиотеки по умолчанию.
Открытое свойство OmitFramePointers Возвращает или задает значение, указывающее, следует ли подавлять framepointers.Свойство OmitFramePointers предоставляет функциональные возможности параметра /Oy (подавление указателей фрейма) компилятора.
Открытое свойство OpenMP Получает или задает значение, указывающее, включена ли поддержка OpenMP.
Открытое свойство Optimization Получает или задает параметры для оптимизации кода.Optimization предоставляет функциональные возможности компилятора /Od (Выключение (отладчика))" /O1, /O2 (минимизировать размер, максимизировать скорость)и /Ox (полная оптимизация) параметры.
Открытое свойство PrecompiledHeaderFile Возвращает или задает путь и/или имя создаваемого предкомпилированного файла заголовка.Свойство PrecompiledHeaderFile предоставляет функциональные возможности параметра /Fp (имя PCH-файла) компилятора.
Открытое свойство PrecompiledHeaderThrough Возвращает или задает имя файла заголовка, применяемое при создании или использовании предкомпилированного файла заголовка.PrecompiledHeaderThrough предоставляет функциональные возможности компилятора /Yc (создать предварительно скомпилированный заголовочный файл)и /Yu (использование файла предкомпилированного заголовка) параметры.
Открытое свойство PreprocessorDefinitions Получает или задает одно или несколько определений препроцессора.PreprocessorDefinitions предоставляет функциональные возможности компилятора Определения препроцессора (/D) параметр компилятор MIDL Страницы свойств "MIDL": страница "Общие" параметр, и компилятор ресурсов Страницы свойств ресурсов параметр.
Открытое свойство ProgramDataBaseFileName Возвращает или задает имя pdb-файла, создаваемого компилятором, и базовое имя требуемого idb-файла.Свойство ProgramDataBaseFileName предоставляет функциональные возможности параметра /Fd (имя файла базы данных программы) компилятора.
Открытое свойство RuntimeLibrary Возвращает или задает библиотеку времени выполнения для компоновки.RuntimeLibrary предоставляет функциональные возможности компилятора /MD, /MT, /LD (использование библиотеки времени выполнения) параметры.
Открытое свойство RuntimeTypeInfo Возвращает или задает значение, указывающее, следует ли добавить код для проверки типов объектов C++ во время выполнения (информации о типах во время выполнения).Свойство RuntimeTypeInfo предоставляет функциональные возможности параметра /GR (Предоставление информации о типах во время выполнения) компилятора.
Открытое свойство ShowIncludes Возвращает или задает значение, указывающее, игнорируется ли создавать список файлов с выходными данными компилятора.Свойство ShowIncludes предоставляет функциональные возможности параметра /showIncludes (список включаемых файлов) компилятора.
Открытое свойство SmallerTypeCheck Возвращает или задает значение, указывающее, включать ли проверка для преобразования к небольшим типам.Свойство SmallerTypeCheck предоставляет функциональные возможности параметра /RTC (проверки ошибок во время выполнения) компилятора.
Открытое свойство StringPooling Возвращает или задает значение, указывающее, включать ли регулирование типа string, доступное только для чтения для создания меньший компилированный код.Свойство StringPooling предоставляет функциональные возможности параметра /GF (Исключение повторяющихся строк) компилятора.
Открытое свойство StructMemberAlignment Определяет, 1, 2, 4, 8 или 16 байта границы выравнивания для членов структуры.StructMemberAlignment предоставляет функциональные возможности компилятора C++ /Zp (Выравнивание члена структуры) компилятор MIDL и параметра Страницы свойств MIDL: Дополнительно параметр.
Открытое свойство SuppressStartupBanner Отключает отображение приветствия при загрузке и информационных сообщений.
Открытое свойство ToolKind Получает имя типа инструмента.
Открытое свойство toolName Получает имя указанного инструмента.
Открытое свойство ToolPath Получает путь к указанному инструменту.
Открытое свойство TreatWChar_tAsBuiltInType Возвращает или задает значение, указывающее, следует ли обрабатывать тип wchar_t как встроенный тип.Свойство TreatWChar_tAsBuiltInType предоставляет функциональные возможности параметра /Zc:wchar_t (wchar_t – это собственный тип) компилятора.
Открытое свойство UndefineAllPreprocessorDefinitions Возвращает или задает значение, указывающее, следует ли отменить определение все ранее определенные значения препроцессора.Свойство UndefineAllPreprocessorDefinitions предоставляет функциональные возможности параметра Параметры /U и /u (отмена определения символа) компилятора.
Открытое свойство UndefinePreprocessorDefinitions Возвращает или задает значение, указывающее отмену одного или нескольких определений препроцессора.UndefinePreprocessorDefinitions предоставляет функциональные возможности компилятора C++ Параметры /U и /u (отмена определения символа) компилятор MIDL и параметра Страницы свойств MIDL: Дополнительно параметр.
Открытое свойство UseFullPaths Получает или задает значение, указывающее, используются ли полные пути.
Открытое свойство UsePrecompiledHeader Возвращает или задает значение, включающее создание и использование предкомпилированного заголовка во время построения.UsePrecompiledHeader предоставляет функциональные возможности компилятора /Yc (создать предварительно скомпилированный заголовочный файл) и /Yu (использование файла предкомпилированного заголовка) параметры.
Открытое свойство UseUnicodeResponseFiles Указывает, использует ли компилятор файлы ответов с кодировкой Юникод.
Открытое свойство VCProjectEngine Получает указатель на обработчик проекта.
Открытое свойство WarnAsError Возвращает или задает значение, указывающее, следует ли разрешить компилятору, чтобы обрабатывать все предупреждения как ошибки.WarnAsError предоставляет функциональные возможности компилятора C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) компилятор MIDL и параметра Страницы свойств "MIDL": страница "Общие" параметр.
Открытое свойство WarningLevel Возвращает или задает значение, указывающее, насколько строго компилятор проверяет потенциально подозрительные конструкции.WarningLevel предоставляет функциональные возможности компилятора C++ /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) компилятор MIDL и параметра /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) параметр.
Открытое свойство WholeProgramOptimization Получает или задает значение, указывающее, требуется ли обеспечить возможность межмодульной оптимизации за счет отсрочки создания кода до времени компоновки.Свойство WholeProgramOptimization предоставляет функциональные возможности параметра /GL (оптимизация всей программы) компилятора.
Открытое свойство XMLDocumentationFileName Получает или задает имя XML-файла документации.

В начало страницы

Методы

  Имя Описание
Открытый метод get_PropertyOption Инфраструктура. Только для внутреннего использования в корпорации Майкрософт.

В начало страницы

Заметки

Следующие новые параметры компилятора были добавлены в пределах Visual Studio 2005.

Следующие параметры компилятора удалены in Visual Studio 2005.

  • /Op

  • /G6, /G7 и /GB

Примеры

В следующем примере демонстрируется использование EnablePREfast и AdditionalOptions свойства задания /analyze:WX- switch.(Необходимо, чтобы оба свойства делают этого.) Определение /analyze:WX- означает, что предупреждения анализа кода не будут обрабатываться как ошибки при компилировании с /WX.Дополнительные сведения см. в разделе /analyze (анализ кода).

Чтобы выполнить этот пример, введите и выполните этому примеру, как описано в Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.Затем в новом экземпляре Visual Studioзагрузите a Visual C++ проект и использует диспетчер надстроек, чтобы активировать надстройку.

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

См. также

Ссылки

Microsoft.VisualStudio.VCProjectEngine - пространство имен

Другие ресурсы

Walkthrough: Using /clr:pure Features