CL - задача
Примечание.
Эта задача доступна только при использовании системы сборки C++.
Создает программу-оболочку для компилятора Microsoft C++ cl.exe. Компилятор создает исполняемые файлы (EXE-файлы), библиотеки динамической компоновки (DLL-файлы) или модули кода (NETMODULE-файлы). Дополнительные сведения см. в разделах Параметры компилятора, Использование MSBuild из командной строки и Использование набора инструментов Microsoft C++ из командной строки.
Параметры
В следующем списке приводятся параметры задачи CL. Большинство параметров задачи и некоторые наборы параметров соответствуют параметрам командной строки.
AdditionalIncludeDirectories
Необязательный параметр типа String[].
Добавляет каталог к списку каталогов, в которых выполняется поиск включаемых файлов.
Дополнительные сведения см. в разделе /I (дополнительные каталоги включения).
AdditionalOptions
Необязательный параметр String.
Список параметров командной строки. Например, /<параметр1> /<параметр2> /<параметрN>. Этот параметр используется для указания параметров командной строки, не представленных каким-либо другим параметром задачи.
Дополнительные сведения см. в разделе Параметры компилятора.
AdditionalUsingDirectories
Необязательный параметр типа String[].
Указывает каталог, в котором компилятор будет производить поиск для разрешения ссылок, переданных в директиву #using.
Дополнительные сведения см. в разделе /AI (указание каталогов метаданных).
AlwaysAppend
Необязательный параметр String.
Строка, которая всегда выводится в командной строке. Значение по умолчанию — "/c".
AssemblerListingLocation
Создает файл листинга, содержащий код сборки.
Дополнительные сведения см. в описании параметра /Fa в разделе /FA, /Fa (файл листинга).
AssemblerOutput
Необязательный параметр String.
Создает файл листинга, содержащий код сборки.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
NoListing - <none>
AssemblyCode - /FA
AssemblyAndMachineCode - /FAc
AssemblyAndSourceCode - /FAs
All - /FAcs
Дополнительные сведения см. в описании параметров /FA, /FAc, /FAs и /FAcs в разделе /FA, /Fa (файл листинга).
BasicRuntimeChecks
Необязательный параметр String.
Включает и отключает функцию проверки ошибок во время выполнения совместно с атрибутом директивы pragma runtime_checks.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Default - <none>
StackFrameRuntimeCheck - /RTCs
UninitializedLocalUsageCheck - /RTCu
EnableFastChecks - /RTC1
Дополнительные сведения см. в разделе /RTC (проверки ошибок во время выполнения).
BrowseInformation
Необязательный логический параметр.
Если он имеет значение
true
, создается файл информации об исходном коде.Дополнительные сведения см. в описании параметра /FR в разделе /FR, /Fr (создание SBR-файла).
BrowseInformationFile
Необязательный параметр String.
Задает имя для файла информации об исходном коде.
Дополнительные сведения см. в описании параметра BrowseInformation в этой таблице, а также в разделе /FR, /Fr (создание SBR-файла).
BufferSecurityCheck
Необязательный логический параметр.
Если значение равно
true
, обнаруживаются некоторые переполнения буфера, при которых перезаписывается обратный адрес. Это стандартный способ работы с кодом, в котором не используется принудительное ограничение размера буфера.Дополнительные сведения см. в разделе /GS (проверка безопасности буфера).
BuildingInIDE
Необязательный логический параметр.
Если он имеет значение
true
, то указывает, что MSBuild вызывается средой IDE. В противном случае MSBuild вызывается в командной строке.CallingConvention
Необязательный параметр String.
Задает соглашение о вызове, определяющее порядок, в котором аргументы функции передаются в стек, то, удаляет ли вызывающая или вызываемая функция аргументы из стека в конце вызова, а также соглашение о декорировании имен, используемое компилятором для идентификации отдельных функций.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Cdecl - /Gd
FastCall - /Gr
StdCall - /Gz
Дополнительные сведения см. в разделе /Gd, /Gr, /Gv, /Gz (соглашение о вызовах).
CompileAs
Необязательный параметр String.
Указывает, должен ли входной файл компилироваться как исходный файл C или C++.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Default - <none>
CompileAsC - /TC
CompileAsCpp - /TP
КомпиляцияAsCppModule - /interface
КомпиляцияAsCppModuleInternalPartition/internalPartition -
КомпиляцияAsHeaderUnit - /exportHeader
Дополнительные сведения см. в разделе /Tc, /Tp, /TC, /TP (указание типа исходного файла), /interface (рассматривать входной файл как единицу интерфейса модуля),/internalPartition (рассматривать входной файл как внутреннюю единицу секции) и /exportHeader (Создание единиц заголовков).
CompileAsManaged
Необязательный параметр String.
Позволяет приложениям и компонентам использовать возможности из среды CLR.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
false - <none>
true - /clr
Pure - /clr:pure
Safe - /clr:safe
OldSyntax - /clr:oldSyntax
Дополнительные сведения см. в разделе /clr (компиляция CLR).
CreateHotpatchableImage
Необязательный логический параметр.
Если он имеет значение
true
, то компилятор должен подготовить образ для критического обновления. Этот параметр позволяет добиться того, что длина первой инструкции каждой функции равна двум байтам, что необходимо для выполнения критического обновления.Дополнительные сведения см. в разделе /hotpatch (создание образа с обновлениями).
DebugInformationFormat
Необязательный параметр String.
Выбирает тип отладочной информации, создаваемой для программы, и место хранения этой информации: объектные файлы (OBJ) или база данных программы (PDB).
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
OldStyle - /Z7
ProgramDatabase - /Zi
EditAndContinue - /ZI
Дополнительные сведения см. в разделе /Z7, /Zi, /ZI (формат отладочной информации).
DisableLanguageExtensions
Необязательный логический параметр.
Если он имеет значение true, то компилятор должен выдавать ошибку для языковых конструкций, несовместимых либо с ANSI C, либо с ANSI C++.
Дополнительные сведения см. в описании параметра /Za в разделе /Za, /Ze (отключение расширения языка).
DisableSpecificWarnings
Необязательный параметр типа String[].
Отключает номера предупреждений, которые указаны в списке, разделенном точками с запятой.
Дополнительные сведения см. в описании параметра
/wd
в разделе /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (уровень предупреждений).EnableEnhancedInstructionSet
Необязательный параметр String.
Задает архитектуру для создания кода, использующего расширения SIMD потоковой передачи (SSE), расширения SIMD потоковой передачи 2 (SSE2) и расширенные векторные расширения (AVX).
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
NoExtensions - /arch:IA32
StreamingSIMDExtensions - /arch:SSE
StreamingSIMDExtensions2 - /arch:SSE2
AdvancedVectorExtensions - /arch:AVX
AdvancedVectorExtensions2 - /arch:AVX2
AdvancedVectorExtensions512 - /arch:AVX512
Дополнительные сведения см. в разделе /arch (x86).
EnableFiberSafeOptimizations
Необязательный логический параметр.
Если он имеет значение
true
, то поддерживается безопасность волокон для данных, выделенных с помощью статической локальной памяти потока, то есть данных, выделенных с помощью__declspec(thread)
.Дополнительные сведения см. в разделе /GT (поддержка локальной памяти потока, безопасной относительно волокон).
EnablePREfast
Необязательный логический параметр.
Если он имеет значение
true
, то включается анализ кода.Дополнительные сведения см. в разделе /analyze (анализ кода).
ErrorReporting
Необязательный параметр String.
Разрешает передавать данные о внутренних ошибках компилятора (ICE) непосредственно в корпорацию Майкрософт. По умолчанию в сборках среды IDE этот параметр имеет значение Prompt, а в сборках командной строки — значение Queue.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
None - /errorReport:none
Prompt - /errorReport:prompt
Queue - /errorReport:queue
Send - /errorReport:send
Дополнительные сведения см. в разделе /errorReport (отчет о внутренних ошибках компилятора).
ExceptionHandling
Необязательный параметр String.
Задает модель обработки исключений, используемую компилятором.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
false - <none>
Async - /EHa
Sync - /EHsc
SyncCThrow - /EHs
Дополнительные сведения см. в статье /EH (модель обработки исключений).
ExpandAttributedSource
Необязательный логический параметр.
Если он имеет значение
true
, то создается файл списка, имеющий расширенные атрибуты, внедренные в исходный файл.Дополнительные сведения см. в разделе /Fx (слияние подставляемого кода).
FavorSizeOrSpeed
Необязательный параметр String.
Указывает, нужно ли предпочитать скорость или размер кода.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Neither - <none>
Size - /Os
Speed - /Ot
Дополнительные сведения см. в разделе /Os, /Ot (приоритет размера кода или скорости кода).
FloatingPointExceptions
Необязательный логический параметр.
Если он имеет значение
true
, то включается надежная модель исключения с плавающей запятой. Исключения вызываются сразу же после их инициализации.Дополнительные сведения см. в описании параметра /fp:except в разделе /fp (определение поведения с плавающей запятой).
FloatingPointModel
Необязательный параметр String.
Задает модель с плавающей запятой.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Precise - /fp:precise
Strict - /fp:strict
Fast - /fp:fast
Дополнительные сведения см. в разделе /fp (определение поведения с плавающей запятой).
ForceConformanceInForLoopScope
Необязательный логический параметр.
Если он имеет значение
true
, то реализуется стандартное поведение C++ в для циклов for, использующих расширения Майкрософт (/Ze).Дополнительные сведения см. в разделе /Zc:forScope (принудительное обеспечение соответствия в области видимости оператора for).
ForcedIncludeFiles
Необязательный параметр
String[]
.Вызывает обработку препроцессором одного или нескольких указанных файлов заголовков.
Дополнительные сведения см. в разделе /FI (имя принудительно включаемого файла).
ForcedUsingFiles
Необязательный параметр типа String[].
Вызывает обработку препроцессором одного или нескольких указанных файлов #using.
Дополнительные сведения см. в разделе /FU (именование файла с принудительно используемым атрибутом #using).
FunctionLevelLinking
Необязательный параметр
Boolean
.Если значение равно
true
, компилятор может упаковывать отдельные функции в форме упакованных функций (COMDAT).Дополнительные сведения см. в разделе /Gy (включение компоновки на уровне функций).
GenerateXMLDocumentationFiles
Необязательный параметр
Boolean
.Если значение равно
true
, компилятор обрабатывает комментарии к документации в файлах исходного кода и создает XDC-файл для каждого файла с исходным кодом, в котором есть комментарии к документации.Дополнительные сведения см. в разделе /doc (обработка комментариев документации) (C/C++). См. также описание параметра XMLDocumentationFileName в этой таблице.
IgnoreStandardIncludePath
Необязательный параметр
Boolean
.Если значение равно
true
, компилятор не выполняет поиск файлов для включения в каталогах, указанных в переменных среды PATH и INCLUDE.Дополнительные сведения см. в разделе /X (отклонение стандартных путей включения).
InlineFunctionExpansion
Необязательный параметр String .
Задает уровень расширения встраиваемых функций для сборки.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Default - <none>
Disabled - /Ob0
OnlyExplicitInline - /Ob1
AnySuitable - /Ob2
Дополнительные сведения см. в разделе /Ob (расширение встраиваемых функций).
IntrinsicFunctions
Необязательный параметр
Boolean
.Если значение равно
true
, вызов некоторых функций заменяется на встроенные или какие-либо другие формы функции, которые способствуют более быстрому выполнению приложения.Дополнительные сведения см. в разделе /Oi (создание встроенных функций).
MinimalRebuild
Необязательный параметр
Boolean
. Этот параметр является устаревшим.Если значение равно
true
, включается минимальное перестроение, определяющее, необходимо ли перекомпилировать исходные файлы C++, содержащие измененные определения классов C++ (хранящиеся в файлах заголовка (H)).Дополнительные сведения см. в разделе /Gm (включение минимального перепостроения).
MultiProcessorCompilation
Необязательный параметр
Boolean
.Если он имеет значение
true
, то для компиляции используется несколько процессоров. Этот параметр создает процесс для каждого эффективного процессора на компьютере.Дополнительные сведения см. в разделе /MP (сборка с несколькими процессами). См. также описание параметра ProcessorNumber в этой таблице.
ObjectFileName
Необязательный параметр String .
Указывает имя файла или каталога объектного файла (OBJ), которое следует использовать вместо имени по умолчанию.
Дополнительные сведения см. в разделе /Fo (имя объектного файла).
ObjectFiles
Необязательный параметр типа String[].
Список объектных файлов.
OmitDefaultLibName
Необязательный параметр
Boolean
.Если он имеет значение
true
, то имя библиотеки времени выполнения С, установленное по умолчанию, опускается в объектном файле (OBJ-файле). По умолчанию компилятор помещает имя библиотеки в OBJ-файл, чтобы перенаправить компоновщик в правильную библиотеку.Дополнительные сведения см. в разделе /Zl (опущенное по умолчанию имя библиотеки).
OmitFramePointers
Необязательный параметр
Boolean
.Если значение равно
true
, подавляется создание указателей фрейма в стеке вызова.Дополнительные сведения см. в разделе /Oy (подавление указателей фрейма).
OpenMPSupport
Необязательный параметр
Boolean
.Если он имеет значение
true
, то компилятор будет обрабатывать предложения и директивы OpenMP.Дополнительные сведения см. в разделе /openmp (включение поддержки OpenMP 2.0).
Оптимизация
Необязательный параметр String .
Задает различные оптимизации скорости и размера кода.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Disabled - /Od
MinSpace - /O1
MaxSpeed - /O2
Full - /Ox
Дополнительные сведения см. в разделе /O (оптимизация кода).
PrecompiledHeader
Необязательный параметр String .
Создание или использование файла предкомпилированного заголовка (PCH-файла) во время сборки.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
NotUsing - <none>
Create - /Yc
Use - /Yu
Дополнительные сведения см. в разделах /Yc (создание файла предкомпилированного заголовка) и /Yu (использование файла предкомпилированного заголовка). Кроме того, см. параметры PrecompiledHeaderFile и PrecompiledHeaderOutputFile в этой таблице.
PrecompiledHeaderFile
Необязательный параметр String .
Задает имя файла предкомпилированного заголовка для создания или использования.
Дополнительные сведения см. в разделах /Yc (создание файла предкомпилированного заголовка) и /Yu (использование файла предкомпилированного заголовка).
PrecompiledHeaderOutputFile
Необязательный параметр String .
Задает путь для предкомпилированного заголовка, который используется вместо пути по умолчанию.
Дополнительные сведения см. в разделе /Fp (имя PCH-файла).
PreprocessKeepComments
Необязательный параметр
Boolean
.Если значение равно
true
, в ходе предварительной обработки комментарии сохраняются.Дополнительные сведения см. в разделе /C (сохранение комментариев во время предварительной обработки).
PreprocessorDefinitions
Необязательный параметр
String[]
.Определяет символ предобработки для исходного файла.
Для получения дополнительной информации см. /D (определения препроцессора).
PreprocessOutput
Необязательный параметр
ITaskItem[]
.Определяет массив выходных элементов препроцессора, которые могут использоваться и создаваться задачами.
PreprocessOutputPath
Необязательный параметр
String
.Задает имя выходного файла, в который параметр PreprocessToFile записывает предварительно обработанные выходные данные.
Дополнительные сведения см. в разделе /Fi (предварительная обработка имени выходного файла).
PreprocessSuppressLineNumbers
Необязательный параметр
Boolean
.Если значение равно
true
, выполняется предобработка исходных файлов C и C++, которые копируются на стандартное устройство вывода.Дополнительные сведения см. в разделе /EP (предварительная обработка в поток стандартных выходных файлов без директив #line).
PreprocessToFile
Необязательный параметр
Boolean
.Если значение равно
true
, выполняется предобработка файлов на языке C и С++, а выходные данные записываются в файл.Дополнительные сведения см. в разделе /P (вывод результатов предварительной обработки в файл).
ProcessorNumber
Необязательный параметр
Integer
.Задает максимальное число процессоров, которые могут использоваться в многопроцессорной компиляции. Используйте этот параметр вместе с параметром MultiProcessorCompilation.
ProgramDataBaseFileName
Необязательный параметр
String
.Задает имя файла для базы данных программы (PDB-файла).
Дополнительные сведения см. в разделе /Fd (имя файла базы данных программы).
RuntimeLibrary
Необязательный параметр
String
.Указывает, является ли многопотоковый модуль библиотекой DLL, и выбирает версию библиотеки времени выполнения для отладки или выпуска.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
MultiThreaded - /MT
MultiThreadedDebug - /MTd
MultiThreadedDLL - /MD
MultiThreadedDebugDLL - /MDd
Дополнительные сведения см. в разделе /MD, /MT, /LD (использование библиотеки времени выполнения).
RuntimeTypeInfo
Необязательный параметр
Boolean
.Если он имеет значение
true
, то добавляется код для проверки типов объектов C++ во время выполнения (сведения о типе времени выполнения).Дополнительные сведения см. в разделе /GR (предоставление информации о типах во время выполнения).
ShowIncludes
Необязательный параметр
Boolean
.Если значение равно
true
, компилятор выводит список включаемых файлов.Дополнительные сведения см. в разделе /showIncludes (список включаемых файлов).
SmallerTypeCheck
Необязательный параметр
Boolean
.Если он имеет значение
true
, то выводится сообщение об ошибке времени выполнения, когда значение назначается типу данных меньшего размера, что приводит к потере данных.Дополнительные сведения см. в описании параметра /RTCc в разделе /RTC (проверки ошибок во время выполнения).
Источники
Обязательный параметр
ITaskItem[]
.Задает список исходных файлов, разделенных пробелами.
StringPooling
Необязательный параметр
Boolean
.Если он имеет значение
true
, то компилятору позволено создавать одну копию одинаковых строк в образе программы.Дополнительные сведения см. в разделе /GF (исключение повторяющихся строк).
StructMemberAlignment
Необязательный параметр
String
.Задает байтовое выравнивание для всех элементов в структуре.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
Default - /Zp1
1Byte - /Zp1
2Bytes - /Zp2
4Bytes - /Zp4
8Bytes - /Zp8
16Bytes - /Zp16
Дополнительные сведения см. в статье /Zp (выравнивание членов структур).
SuppressStartupBanner
Необязательный параметр
Boolean
.Если задано значение
true
, запрещается отображение сообщения о номере версии и авторских правах при запуске задачи.Дополнительные сведения см. в разделе /nologo (отмена вывода начального заголовка) (C/C++).
TrackerLogDirectory
Необязательный параметр
String
.Задает промежуточный каталог, в котором хранятся журналы отслеживания для этой задачи.
Дополнительные сведения см. в описании параметров TLogReadFiles и TLogWriteFiles в этой таблице.
TreatSpecificWarningsAsErrors
Необязательный параметр типа String[].
Обрабатывает указанный список предупреждений компилятора как ошибки.
Дополнительные сведения см. в описании параметра /we
n
в разделе /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (уровень предупреждений).TreatWarningAsError
Необязательный параметр
Boolean
.Если значение равно
true
, все предупреждения компилятора обрабатываются как ошибки.Дополнительные сведения см. в описании параметра /WX в разделе /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (уровень предупреждений).
TreatWChar_tAsBuiltInType
Необязательный параметр
Boolean
.Если он имеет значение
true
, то типwchar_t
трактуется как собственный тип.Дополнительные сведения см. в разделе /Zc:wchar_t (wchar_t — это собственный тип).
UndefineAllPreprocessorDefinitions
Необязательный параметр
Boolean
.Если значение равно
true
, отменяется определение символов для систем Майкрософт, определяемых компилятором.Дополнительные сведения см. в описании параметра /u в разделе /U и /u (отмена определения символа).
UndefinePreprocessorDefinitions
Необязательный параметр
String[]
.Задает список одного или нескольких символов препроцессора для отмены определения.
Дополнительные сведения см. в описании параметра /U в разделе Параметры /U и /u (отмена определения символа).
UseFullPaths
Необязательный параметр
Boolean
.Если значение равно
true
, отображается полный путь к файлам исходного кода, переданный компилятору в диагностике.Дополнительные сведения см. в разделе /FC (полный путь к файлу исходного кода в папке Diagnostics).
UseUnicodeForAssemblerListing
Необязательный параметр
Boolean
.Если он имеет значение
true
, то выходной файл будет создан в формате UTF-8.Дополнительные сведения см. в описании параметра /FAu в разделе /FA, /Fa (файл листинга).
WarningLevel
Необязательный параметр
String
.Задает высший уровень предупреждений, создаваемых компилятором.
Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.
TurnOffAllWarnings - /W0
Level1 - /W1
Level2 - /W2
Level3 - /W3
Level4 - /W4
EnableAllWarnings - /Wall
Дополнительные сведения см. в описании параметра /Wn в разделе /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (порог предупреждений).
WholeProgramOptimization
Необязательный параметр
Boolean
.Если значение равно
true
, включается оптимизация всей программы.Дополнительные сведения см. в разделе /GL (оптимизация всей программы).
XMLDocumentationFileName
Необязательный параметр
String
.Задает имя создаваемых XML-файлов документации. Этот параметр может быть именем файла или каталога.
Дополнительные сведения см. в описании аргумента
name
в разделе /doc (обработка комментариев документации) (C/C++). См. также описание параметра GenerateXMLDocumentationFiles в этой таблице.MinimalRebuildFromTracking
Необязательный параметр
Boolean
.Если он имеет значение
true
, то выполняется отслеживаемая инкрементная сборка; если значениеfalse
, то выполняется перестроение.TLogReadFiles
Необязательный параметр
ITaskItem[]
.Определяет массив элементов, представляющих журналы отслеживания чтения из файла.
Журнал отслеживания чтения из файла (TLOG) содержит имена входных файлов, прочитанных задачей, и используется в системе сборки проекта для поддержки инкрементных сборок. Дополнительные сведения см. в описании параметров TrackerLogDirectory и TrackFileAccess в этой таблице.
TLogWriteFiles
Необязательный параметр
ITaskItem[]
.Определяет массив элементов, представляющих журналы отслеживания записи в файл.
Журнал отслеживания записи в файл (TLOG) содержит имена выходных файлов, записанных задачей, и используется в системе сборки проекта для поддержки инкрементных сборок. Дополнительные сведения см. в описании параметров TrackerLogDirectory и TrackFileAccess в этой таблице.
TrackFileAccess
Необязательный параметр
Boolean
.Если он имеет значение
true
, то выполняется отслеживание шаблонов доступа к файлу.Дополнительные сведения см. в описании параметров TLogReadFiles и TLogWriteFiles в этой таблице.