CL - задача

Создает программу-оболочку для компилятора 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.

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

  • BrowseInformation

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

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

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

  • BrowseInformationFile

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

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

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

  • BufferSecurityCheck

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

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

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

  • BuildingInIDE

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

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

  • CallingConvention

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

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

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

  • CompileAs

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

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

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

  • 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).

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

  • 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.

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

  • ExceptionHandling

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

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

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

  • ExpandAttributedSource

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

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

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

  • FavorSizeOrSpeed

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

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

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

  • FloatingPointExceptions

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

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

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

  • FloatingPointModel

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

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

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

  • 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 .

    Задает уровень расширения встраиваемых функций для сборки.

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

  • 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 .

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

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

  • PrecompiledHeader

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

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

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

  • 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, и выбирает версию библиотеки времени выполнения для отладки или выпуска.

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

  • RuntimeTypeInfo

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

    Если он имеет значение true, то добавляется код для проверки типов объектов C++ во время выполнения (сведения о типе времени выполнения).

    Дополнительные сведения см. в разделе /GR (предоставление информации о типах во время выполнения).

  • ShowIncludes

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

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

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

  • SmallerTypeCheck

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

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

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

  • Источники

    Обязательный параметр ITaskItem[] .

    Задает список исходных файлов, разделенных пробелами.

  • StringPooling

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

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

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

  • StructMemberAlignment

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

    Задает байтовое выравнивание для всех элементов в структуре.

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

  • SuppressStartupBanner

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

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

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

  • TrackerLogDirectory

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

    Задает промежуточный каталог, в котором хранятся журналы отслеживания для этой задачи.

    Дополнительные сведения см. в описании параметров TLogReadFiles и TLogWriteFiles в этой таблице.

  • TreatSpecificWarningsAsErrors

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

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

    Дополнительные сведения см. в описании параметра /wen в разделе /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.

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

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

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

См. также