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


VCCLCompilerTool - интерфейс

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

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

Синтаксис

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

Тип 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, /Gv, /Gz (соглашение о вызовах) компилятора.
Открытое свойство CompileAs Выбирает параметр языка компиляции для C- и CPP-файлов.Свойство CompileAs предоставляет функциональные возможности параметров Параметры /Tc, /Tp, /TC, /TP (определение типа исходного файла) компилятора.
Открытое свойство CompileAsManaged Получает или задает значение, указывающее параметры компилятора.
Открытое свойство CompileOnly Получает или задает значение, указывающее, выполнять ли компиляцию без компоновки.
Открытое свойство DebugInformationFormat Получает или задает тип отладочной информации, создаваемой компилятором.Свойство DebugInformationFormat предоставляет функциональные возможности параметров /Z7, /Zi, /ZI (формат отладочной информации) компилятора.
Открытое свойство DefaultCharIsUnsigned Получает или задает тип символов по умолчанию как тип без знака.Свойство DefaultCharIsUnsigned предоставляет функциональные возможности параметра /J (тип знака по умолчанию не подписан) компилятора.
Открытое свойство Detect64BitPortabilityProblems Получает или задает значение, указывающее, проверяет ли компилятор проблемы переносимости на 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 Получает или задает значение, показывающее, подавлять ли указатели на фреймы.Свойство 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 Получает или задает значение, указывающее, включать ли объединение доступных только для чтения строк для уменьшения объема скомпилированного кода.Свойство StringPooling предоставляет функциональные возможности параметра /GF (Исключение повторяющихся строк) компилятора.
Открытое свойство StructMemberAlignment Определяет границы выравнивания в 1, 2, 4 или 8 байт для членов структуры.Свойство StructMemberAlignment предоставляет функциональные возможности параметра /Zp (Выравнивание члена структуры) компилятора C++ и параметра Страницы свойств MIDL: Дополнительно компилятора MIDL.
Открытое свойство SuppressStartupBanner Отключает отображение приветствия при загрузке и информационных сообщений.
Открытое свойство ToolKind Получает имя типа инструмента.
Открытое свойство toolName Получает имя указанного инструмента.
Открытое свойство ToolPath Получает путь к указанному инструменту.
Открытое свойство TreatWChar_tAsBuiltInType Получает или задает значение, указывающее, следует ли обрабатывать тип wchar_t как встроенный тип.Свойство TreatWChar_tAsBuiltInType предоставляет функциональные возможности параметра /Zc:wchar_t (wchar_t – это собственный тип) компилятора.
Открытое свойство UndefineAllPreprocessorDefinitions Получает или задает значение, указывающее, отменяются ли все объявленные ранее определения препроцессора.Свойство UndefineAllPreprocessorDefinitions предоставляет функциональные возможности параметра Параметры /U и /u (отмена определения символа) компилятора.
Открытое свойство UndefinePreprocessorDefinitions Получает или задает значение, указывающее одну или несколько отмен определений препроцессора.Свойство UndefinePreprocessorDefinitions предоставляет функциональные возможности параметра Параметры /U и /u (отмена определения символа) компилятора C++ и параметра Страницы свойств MIDL: Дополнительно компилятора MIDL.
Открытое свойство UseFullPaths Получает или задает значение, указывающее, используются ли полные пути.
Открытое свойство UsePrecompiledHeader Получает или задает значение, разрешающее создание или использование предкомпилированного файла заголовка при построении.Свойство UsePrecompiledHeader предоставляет функциональные возможности параметров /Yc (создать предварительно скомпилированный заголовочный файл) и /Yu (использование файла предкомпилированного заголовка) компилятора.
Открытое свойство UseUnicodeResponseFiles Указывает, использует ли компилятор файлы ответов с кодировкой Юникод.
Открытое свойство VCProjectEngine Получает указатель на обработчик проекта.
Открытое свойство WarnAsError Получает или задает значение, указывающее, следует ли включать компилятор для обработки всех предупреждений как ошибок.Свойство WarnAsError предоставляет функциональные возможности параметра /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) компилятора C++ и параметра Страницы свойств "MIDL": страница "Общие" компилятора MIDL.
Открытое свойство WarningLevel Получает или задает значение, указывающее, насколько строго компилятор проверяет потенциально подозрительные конструкции.Свойство WarningLevel предоставляет функциональные возможности параметра /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) компилятора C++ и параметра /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений) компилятора MIDL.
Открытое свойство WholeProgramOptimization Получает или задает значение, указывающее, требуется ли обеспечить возможность межмодульной оптимизации за счет отсрочки создания кода до времени компоновки.Свойство WholeProgramOptimization предоставляет функциональные возможности параметра /GL (оптимизация всей программы) компилятора.
Открытое свойство XMLDocumentationFileName Получает или задает имя XML-файла документации.

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

Методы

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

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

Заметки

Новые параметры компилятора были добавлены в Visual Studio 2005:

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

  • /Op

  • /G6, /G7 и /GB

Примеры

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

Чтобы выполнить этот пример, введите и выполните этот пример, как описано в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации. Затем в новом экземпляре Visual Studio, загрузите проект 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