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 - пространство имен