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


Задача CL

Создает оболочку компилятора Visual C++ — cl.exe. Компилятор создает исполняемые файлы (EXE), библиотеки DLL или модули кода (. NETMODULE-файлы). Дополнительные сведения см. в разделе Параметры компилятора.

Параметры

В следующей таблице описаны параметры задачи CL. Большинство параметров задач (а также несколько наборов параметров) соответствуют какому-либо параметру командной строки.

Параметр

Описание

AdditionalIncludeDirectories

Необязательный параметр типа String[].

Добавляет каталог к списку каталогов, в которых выполняется поиск включаемых файлов.

Дополнительные сведения см. в разделе /I (дополнительные каталоги включения).

AdditionalOptions

Дополнительный параметр String.

Список параметров командной строки. Например, "/параметр1 /параметр2 /параметр#". Этот параметр используется для задания параметров командной строки, не представленных другими параметрами задачи.

Дополнительные сведения см. в разделе Параметры компилятора.

AdditionalUsingDirectories

Необязательный параметр типа String[].

Указывает каталог, в который компилятор будет разрешать ссылки, переданные в директиву #using.

Дополнительные сведения см. в разделе /AI (указание каталогов метаданных).

AlwaysAppend

Дополнительный параметр String.

Строка, которая всегда получает выданное в командной строке. Значением по умолчанию является "/c".

AssemblerListingLocation

Создает файл листинга, содержащего код сборки.

Дополнительные сведения см. в описании параметра /Fa в разделе /FA, /Fa (файл листинга).

AssemblerOutput

Дополнительный параметр String.

Создает файл листинга, содержащего код сборки.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
NoListing<отсутствует>
AssemblyCode/FA
AssemblyAndMachineCode/FAc
AssemblyAndSourceCode/FAs
All/FAcs

Дополнительные сведения см. в описании параметров /FA, /FAc, /FAs и /FAcs в /FA, /Fa (файл листинга).

BasicRuntimeChecks

Дополнительный параметр String.

Включает и отключает функцию проверки ошибок во время выполнения совместно с атрибутом директивы pragma runtime_checks.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
Default<отсутствует>
StackFrameRuntimeCheck/RTCs
UninitializedLocalUsageCheck/RTCu
EnableFastChecks/RTC1

Дополнительные сведения см. в разделе /RTC (проверки ошибок во время выполнения).

BrowseInformation

Необязательный логический параметр Boolean.

Если он имеет значение true, то создается информационный файл просмотра.

Дополнительные сведения см. в описании параметра /FR в разделе /FR, /Fr (создать SBR-файл).

BrowseInformationFile

Дополнительный параметр String.

Задает имя файла для просмотра файла информации.

Дополнительные сведения см. в описании параметра BrowseInformation в этой таблице, а также в разделе /FR, /Fr (создать SBR-файл).

BufferSecurityCheck

Необязательный логический параметр Boolean.

Если значение равно true, обнаружены некоторые возможные переполнения буфера, при которых перезаписывается возвращаемый адрес. Это стандартный способ работы с кодом, в котором не используется принудительное ограничение размера буфера.

Дополнительные сведения см. в разделе Параметр /GS (проверка безопасности буфера).

BuildingInIDE

Необязательный логический параметр Boolean.

Если он имеет значение true, то указывает, что MSBuild вызывается интерфейсом IDE. В противном случае MSBuild вызывается в командной строке.

CallingConvention

Дополнительный параметр String.

Задает соглашение о вызове, определяющее порядок, в котором аргументы функции передаются в стек, в зависимости от того, вызывающая или вызываемая функция удаляет аргументы из стека в конце вызова, а также соглашение об именах, используемое компилятором для идентификации отдельных функций.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
Cdecl/Gd
FastCall/Gr
StdCall/Gz

Дополнительные сведения см. в разделе /Gd, /Gr, /Gz (соглашения о вызовах).

CompileAs

Дополнительный параметр String.

Указывает, должен ли входной файл компилироваться как исходный файл C или C++.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
Default<отсутствует>
CompileAsC/TC
CompileAsCpp/TP

Дополнительные сведения см. в разделе Параметры /Tc, /Tp, /TC, /TP (определение типа исходного файла).

CompileAsManaged

Дополнительный параметр String.

Позволяет приложениям и компонентам использовать функции среды CLR.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
false<отсутствует>
true/clr
Pure/clr:pure
Safe/clr:safe
OldSyntax/clr:oldSyntax

Дополнительные сведения см. в разделе /clr (компиляция CLR).

CreateHotpatchableImage

Необязательный логический параметр Boolean.

Если он имеет значение true, то компилятор должен подготовить образ для горячего обновления путем частичной замены. Этот параметр позволяет добиться того, что длина первой инструкции каждой функции равна двум байтам, что необходимо для выполнения горячего обновления.

Дополнительные сведения см. в разделе /hotpatch (Создать образ с обновлениями).

DebugInformationFormat

Дополнительный параметр String.

Выбирает тип отладочной информации, создаваемой для программы, и место хранения этой информации: объектные файлы (OBJ) или база данных программы (PDB).

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
OldStyle/Z7
ProgramDatabase/Zi
EditAndContinue/ZI

Дополнительные сведения см. в разделе /Z7, /Zi, /ZI (формат отладочной информации).

DisableLanguageExtensions

Необязательный логический параметр Boolean.

Если он имеет значение true, то компилятор должен выдавать ошибку для языковых конструкций, несовместимых либо с ANSI C, либо с ANSI C++.

Дополнительные сведения см. в описании параметра /Za в разделе /Za, /Ze (отключить расширения языка).

DisableSpecificWarnings

Необязательный параметр типа String[].

Отключает номера предупреждений, которые указаны в списке, разделенном точками с запятой.

Дополнительные сведения см. в описании параметра /wd в разделе /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений).

EnableEnhancedInstructionSet

Дополнительный параметр String.

Этот параметр задает архитектуру для создания кода с помощью наборов инструкций Streaming SIMD Extensions (SSE) и Streaming SIMD Extensions 2 (SSE2).

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
StreamingSIMDExtensions/arch:SSE
StreamingSIMDExtensions2/arch:SSE2

Дополнительные сведения см. в разделе /arch (минимальная архитектура ЦП).

EnableFiberSafeOptimizations

Необязательный логический параметр Boolean.

Если он имеет значение true, то поддерживается волоконная безопасность данных, выделенных с помощью статического хранилища TLS, т. е. данных, выделенных с помощью __declspec(thread).

Дополнительные сведения см. в разделе /GT (поддержка локальной памяти потока, безопасной относительно волокон).

EnablePREfast

Необязательный логический параметр Boolean.

Если он имеет значение true, то включается анализ кода.

Дополнительные сведения см. в разделе Параметр /analyze (анализ кода Enterprise).

ErrorReporting

Дополнительный параметр String.

Позволяет предоставлять сведения о внутренних ошибках (ICE) компилятора напрямую в Майкрософт. По умолчанию в построениях интерфейса IDE этот параметр имеет значение Prompt, а в построениях командной строки – значение Queue.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
None/errorReport:none
Prompt/errorReport:prompt
Queue/errorReport:queue
Send/errorReport:send

Дополнительные сведения см. в разделе Параметр /errorReport (отчет о внутренних ошибках компилятора).

ExceptionHandling

Дополнительный параметр String.

Задает модель обработки исключений для использования компилятором.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
false<отсутствует>
Async/EHa
Sync/EHsc
SyncCThrow/EHs

Дополнительные сведения см. в разделе Параметр /EH (модель обработки исключений).

ExpandAttributedSource

Необязательный логический параметр Boolean.

Если он имеет значение true, то создается файл списка, имеющий расширенные атрибуты, введенные в исходный файл.

Дополнительные сведения см. в разделе /Fx (объединение подставляемого кода).

FavorSizeOrSpeed

Дополнительный параметр String.

Указывает, нужно ли предпочитать скорость кода или размер кода.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
Neither<отсутствует>
Size/Os
Speed/Ot

Дополнительные сведения см. в разделе /Os, /Ot (приоритет размера кода или скорости кода).

FloatingPointExceptions

Необязательный логический параметр Boolean.

Если он имеет значение true, то включается надежная модель исключения с плавающей запятой. Исключения вызываются сразу же после их инициализации.

Дополнительные сведения см. в описании параметра /fp:except в /fp (Определение поведения с плавающей запятой).

FloatingPointModel

Дополнительный параметр String.

Задает модель с плавающей точкой.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
Precise/fp:precise
Strict/fp:strict
Fast/fp:fast

Дополнительные сведения см. в разделе /fp (Определение поведения с плавающей запятой).

ForceConformanceInForLoopScope

Необязательный логический параметр Boolean.

Если он имеет значение true, то реализуется стандартное поведение C++ в для циклов, используемых расширения Microsoft (/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<отсутствует>
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).

Optimization

Необязательный параметр типа String.

Задает различные оптимизации скорости и размера кода.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
Disabled/Od
MinSpace/O1
MaxSpeed/O2
Full/Ox

Дополнительные сведения см. в разделе Параметры /O (оптимизация кода).

PrecompiledHeader

Необязательный параметр типа String.

Создание или использование файла предкомпилированного заголовка (PCH-файла) во время построения.

Укажите одно из следующих значений, каждое из которых соответствует параметру командной строки.

ЗначениеПараметр командной строки
NotUsing<отсутствует>
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 (проверки ошибок во время выполнения).

Sources

Обязательный параметр типа 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[].

Рассматривает указанный список предупреждений компилятора как ошибки.

Дополнительные сведения см. в описании параметра /wen в разделе /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений).

TreatWarningAsError

Необязательный параметр типа Boolean.

Если значение равно true, все предупреждения компилятора обрабатываются как ошибки.

Дополнительные сведения см. в описании параметра //WX в разделе /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений).

TreatWChar_tAsBuiltInType

Необязательный параметр типа Boolean.

Если он имеет значение true, то тип wchar_t трактуется как собственный тип.

Дополнительные сведения см. в разделе /Zc:wchar_t (wchar_t – это собственный тип).

UndefineAllPreprocessorDefinitions

Необязательный параметр типа Boolean.

Если значение равно true, отменяется определение символов для систем Microsoft, определяемых компилятором.

Дополнительные сведения см. в описании параметра /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, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений).

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 в этой таблице.

См. также

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

Справочные сведения о задачах MSBuild

Журнал изменений

Дата

Журнал

Причина

Сентябрь 2010

Добавлен параметр задачи/эквивалентности параметров командной-строки для AssemblerOutput, BasicRuntimeChecks, CallingConventionи CompileAs.

Обратная связь от клиента.

Август 2010

Определенные журналы отслеживания записи в файл и чтения из файла (.tlog).

Обратная связь от клиента.