Параметры компилятора в алфавитном порядке
Эта таблица содержит алфавитный список параметров компилятора. Список параметров компилятора по категориям см . в разделе "Параметры компилятора", перечисленные в статье категории .
Параметры компилятора
Вариант | Характер использования |
---|---|
@ |
Указывает файл ответа. |
/? |
Отображает список параметров компилятора. |
/AI<dir> |
Указывает каталог для поиска для разрешения ссылок на файлы, переданные директиве #using . |
/analyze |
Включает анализ кода |
/arch |
Минимальные требования к архитектуре ЦП. |
/arm64EC |
Создайте код, совместимый с ABI arm64EC. |
/await |
Включите расширения соподобий (возобновление функций). |
/await:strict |
Включите стандартную поддержку coroutine C++20 с более ранними версиями языка. |
/bigobj |
Увеличивает число адресуемых секций в OBJ-файле. |
/C |
Сохраняет комментарии на этапе предварительной обработки. |
/c |
Задает компиляцию без компоновки. |
/cgthreads |
Указывает количество потоков cl.exe, используемых для оптимизации и создания кода. |
/clr |
Создает выходной файл, предназначенный для выполнения в среде CLR. |
/clr:implicitKeepAlive- |
Отключение неявного выброса System::GC::KeepAlive(this) . |
/clr:initialAppDomain |
Включите начальное поведение ПриложенияDomain Visual C++ 2002. |
/clr:netcore |
Создание сборок, предназначенных для среды выполнения .NET Core. |
/clr:noAssembly |
Не создайте сборку. |
/clr:nostdimport |
Не импортируйте неявно необходимые сборки. |
/clr:nostdlib |
Игнорируйте каталог system .NET Framework при поиске сборок. |
/clr:pure |
Создайте выходной файл только для IL (без собственного исполняемого кода). |
/clr:safe |
Создайте только проверяемый выходной файл, доступный только для IL. |
/constexpr:backtrace<N> |
constexpr Отображение N-вычислений в диагностика (по умолчанию: 10). |
/constexpr:depth<N> |
Ограничение глубины рекурсии для constexpr оценки (по умолчанию: 512). |
/constexpr:steps<N> |
Завершение constexpr оценки после N шагов (по умолчанию: 100000) |
/D<name>{=|#}<text> |
Определяет константы и макросы. |
/diagnostics |
Формат диагностики: выводит сведения о столбцах. |
/diagnostics:caret[-] |
Формат диагностики: выводит столбец и указанную строку источника. |
/diagnostics:classic |
Используйте устаревший формат диагностика. |
/doc |
Обрабатывает комментарии к документации в XML-файл. |
/E |
Копирует выходные данные препроцессора в стандартный вывод. |
/EHa |
Включите обработку исключений C++ (с исключениями SEH). |
/EHc |
extern "C" по умолчанию использует nothrow . |
/EHr |
Всегда создавайте noexcept проверки завершения среды выполнения. |
/EHs |
Включите обработку исключений C++ (без исключений SEH). |
/EP |
Копирует выходные данные препроцессора в стандартный вывод. |
/errorReport |
Устарело. параметры отчеты об ошибках Windows (WER) управляют отчетом об ошибках. |
/execution-charset |
Задайте набор символов выполнения. |
/experimental:log |
Включает экспериментальные структурированные выходные данные SARIF. |
/experimental:module |
Включает поддержку экспериментального модуля. |
/exportHeader |
Создайте файлы единиц заголовка (.ifc ), указанные входными аргументами. |
/external:anglebrackets |
Обрабатывать все заголовки, включенные как <> внешние. |
/external:env:<var> |
Укажите переменную среды с расположениями внешних заголовков. |
/external:I <path> |
Укажите расположение внешних заголовков. |
/external:templates[-] |
Оцените уровень предупреждений в цепочке создания экземпляров шаблона. |
/external:W<n> |
Задайте уровень предупреждения для внешних заголовков. |
/F |
Задает размер стека. |
/FA |
Настраивает файл списка сборки. |
/Fa |
Создает файл списка сборки. |
/fastfail |
Включите режим быстрого сбоя. |
/favor:<blend|AMD64|INTEL64|ATOM> |
Создает код, который оптимизирован для конкретной архитектуры или диапазона архитектур. |
/FC |
Отображает полный путь к файлам исходного кода, переданным cl.exe в диагностическом тексте. |
/Fd |
Переименовывает файл базы данных программы. |
/Fe |
Переименовывает исполняемый файл. |
/feature |
Включение функций архитектуры.17.10 |
/FI<file> |
Выполняет предварительную обработку указанного включаемого файла. |
/Fi |
Задает предобработанное имя выходного файла. |
/Fm |
Создает файл сопоставления. |
/Fo |
Создает объектный файл. |
/Fp |
Задает имя файла предкомпилированного заголовка. |
/fp:contract |
При создании кода рекомендуется учитывать контракты с плавающей запятой. |
/fp:except[-] |
При создании кода следует учитывать исключения с плавающей запятой. |
/fp:fast |
"быстрая" модель с плавающей запятой; результаты менее предсказуемы. |
/fp:precise |
"точную" модель с плавающей запятой; результаты предсказуемы. |
/fp:strict |
"строгая" модель с плавающей запятой (подразумевает /fp:except ). |
/fpcvt:BC |
Обратная совместимость с плавающей запятой для преобразования целочисленных чисел без знака. |
/fpcvt:IA |
Intel native floating-point to unsigned integer conversion behavior. |
/FR , /Fr |
Имена созданных .sbr файлов браузера. /Fr не рекомендуется к использованию. |
/FS |
Принудительно выполняет запись в PDB-файл, сериализуемый с помощью MSPDBSRV.EXE. |
/fsanitize |
Включает компиляцию инструментирования санитизатора, например AddressSanitizer. |
/fsanitize-coverage |
Включает компиляцию инструментирования покрытия кода для библиотек, таких как LibFuzzer. |
/Ft<dir> |
Расположение файлов заголовков, созданных для #import . |
/FU<file> |
Принудительно использует имя файла, как если бы оно было передано директиве #using . |
/Fx |
Выполняет слияние введенного кода с исходным файлом. |
/GA |
Выполняет оптимизацию для приложений Windows. |
/Gd |
Использует соглашение о вызовах __cdecl . (только x86) |
/Ge |
Устарело. Включает стековые зонды. |
/GF |
Включает объединение строк. |
/GH |
Вызывает функцию-обработчик _pexit . |
/Gh |
Вызывает функцию-обработчик _penter . |
/GL[-] |
Включает оптимизацию всей программы. |
/Gm[-] |
Устарело. Включает минимальное перепостроение. |
/GR[-] |
Включает информацию о типах во время выполнения (RTTI). |
/Gr |
Использует соглашение о вызовах __fastcall . (только x86) |
/GS[-] |
Проверяет безопасность буфера. |
/Gs[n] |
Управляет стековыми зондами. |
/GT |
Поддерживает безопасность волокон для данных, размещаемых с помощью статической локальной памяти потока. |
/Gu[-] |
Убедитесь, что разные функции имеют разные адреса. |
/guard:cf[-] |
Добавление проверок безопасности для защиты потока управления. |
/guard:ehcont[-] |
Включает метаданные продолжения EH. |
/Gv |
Использует соглашение о вызовах __vectorcall . (только x86 и x64) |
/Gw[-] |
Включает глобальную оптимизацию данных всей программы. |
/GX[-] |
Устарело. Включает синхронную обработку исключений. Вместо этого используйте /EH . |
/Gy[-] |
Включает компоновку на уровне функций. |
/GZ |
Устарело. Включает быстрые проверки. (То же, что /RTC1 и ) |
/Gz |
Использует соглашение о вызовах __stdcall . (только x86) |
/H |
Устарело. Ограничивает длину внешних (открытых) имен. |
/headerName |
Создайте единицу заголовка из указанного заголовка. |
/headerUnit |
Укажите, где найти файл единицы заголовка (.ifc ) для указанного заголовка. |
/HELP |
Отображает список параметров компилятора. |
/homeparams |
Принудительная запись параметров, переданных в регистрах, в соответствующие места в стеке при вхождении в функцию. Этот параметр компилятора предназначен только для компиляторов x64 (собственный и кросс-компиляция). |
/hotpatch |
Создает образ, допускающий горячее обновление. |
/I<dir> |
Осуществляет поиск включаемых файлов в каталоге. |
/ifcOutput |
Укажите имя выходного файла или каталог для встроенных .ifc файлов. |
/interface |
Обрабатывает входной файл как единицу интерфейса модуля. |
/internalPartition |
Обрабатывайте входной файл как внутреннюю единицу секции. |
/J |
Изменяет тип char по умолчанию. |
/jumptablerdata |
Поместите таблицы инструкции .rdata switch case jump в раздел. |
/JMC |
Поддерживает отладку собственного кода C++ . |
/kernel |
Компилятор и компоновщик создают двоичный файл, который можно выполнить в ядре Windows. |
/LD |
Создает библиотеку динамической компоновки. |
/LDd |
Создает отладочную библиотеку динамической компоновки. |
/link |
Передает указанный параметр в программу LINK. |
/LN |
Создает MSIL .netmodule . |
/MD |
Компилируется для создания многопоточной библиотеки DLL с помощью MSVCRT.lib. |
/MDd |
Компилируется для создания многопоточной библиотеки DLL отладки с помощью MSVCRTD.lib. |
/MP |
Параллельное построение нескольких исходных файлов. |
/MT |
Компилируется для создания многопоточного исполняемого файла с помощью LIBCMT.lib. |
/MTd |
Компилируется для создания многопоточного исполняемого файла отладки с помощью LIBCMTD.lib. |
/nologo |
Подавление отображения приветствия. |
/O1 |
Уменьшает размер кода. |
/O2 |
Создает быстрый код. |
/Ob<n> |
Управляет подстановкой подставляемых функций. |
/Od |
Отключает оптимизацию. |
/Og |
Устарело. Использует глобальную оптимизацию. |
/Oi[-] |
Создает встроенные функции. |
/openmp |
Включается в исходном #pragma omp коде. |
/openmp:experimental |
Включите расширения языка OpenMP 2.0 и выберите расширения языка OpenMP 3.0+ . |
/openmp:llvm |
Расширения языка OpenMP с помощью среды выполнения LLVM. |
/options:strict |
Нераспознанные параметры компилятора являются ошибками. |
/Os |
Отдает приоритет уменьшению размера кода. |
/Ot |
Отдает приоритет быстрому коду. |
/Ox |
Подмножество /O2, которое не включает /GF или /Gy. |
/Oy |
Пропускает указатель на фрейм. (только x86) |
/P |
Записывает выходные данные препроцессора в файл. |
/PD |
Печать всех определений макросов. |
/permissive[-] |
Задайте стандартный режим соответствия. |
/PH |
Создает #pragma file_hash при предварительной обработке. |
/presetPadding |
Ноль инициализировать заполнение для типов классов на основе стека. |
/Qfast_transcendentals |
Создает быстрые трансцендентные функции. |
/QIfist |
Устарело. Подавляет вызов вспомогательной функции _ftol при необходимости преобразования из типа с плавающей запятой в целочисленный тип. (только x86) |
/Qimprecise_fwaits |
Удаляет команды fwait внутри блоков try . |
/QIntel-jcc-erratum |
Снижает влияние на производительность обновления микрокода Intel JCC erratum. |
/Qpar-report:<n> |
Включает уровни отчетов для автоматической параллелизации. |
/Qpar |
Включает автоматическую параллелизацию циклов. |
/Qsafe_fp_loads |
Использует целочисленные инструкции перемещения значений с плавающей запятой и отключает определенные оптимизации загрузки значений с плавающей запятой. |
/Qspectre[-] |
Включите способы устранения рисков для CVE 2017-5753 для класса атак Spectre. |
/Qspectre-load |
Создайте инструкции сериализации для каждой инструкции загрузки. |
/Qspectre-load-cf |
Создайте инструкции сериализации для каждой инструкции потока управления, загружающей память. |
/Qvec-report:<n> |
Включает уровни отчетов для автоматической векторизации. |
/reference |
Используйте именованный модуль IFC. |
/RTC1 |
Включение быстрых проверок среды выполнения (эквивалентно /RTCsu ). |
/RTCc |
Преобразование в более мелкие проверки типов во время выполнения. |
/RTCs |
Включение проверок среды выполнения кадра стека. |
/RTCu |
Включает неинициализированные проверки локального использования. |
/scanDependencies |
Перечисление зависимостей модуля в стандартной форме JSON C++ . |
/sdl |
Включите дополнительные функции безопасности и предупреждения. |
/showIncludes |
Отображает список всех включаемых файлов во время компиляции. |
/source-charset |
Задайте исходный набор символов. |
/sourceDependencies |
Список всех зависимостей на уровне источника. |
/sourceDependencies:directives |
Перечисление зависимостей модуля и блока заголовка. |
/std:c++14 |
C++14 standard ISO/IEC 14882:2014 (по умолчанию). |
/std:c++17 |
C++17 standard ISO/IEC 14882:2017. |
/std:c++20 |
C++20 standard ISO/IEC 14882:2020. |
/std:c++latest |
Последние предварительные версии черновика C++ стандартных функций. |
/std:c11 |
Стандарт C11 ISO/IEC 9899:2011. |
/std:c17 |
C17 standard ISO/IEC 9899:2018. |
/std:clatest |
Последние стандартные функции предварительной версии C. |
/TC |
Указывает, что все исходные файлы — C. |
/Tc |
Указывает исходный файл на языке C. |
/TP |
Указывает, что все исходные файлы — C++. |
/Tp |
Указывает исходный файл на языке C++. |
/translateInclude |
Рассматривать #include как import . |
/U<name> |
Удаляет предварительно определенный макрос. |
/u |
Удаляет все предварительно определенные макросы. |
/utf-8 |
Задайте для наборов исходных и выполняемых символов значение UTF-8. |
/V |
Устарело. Задает строку версии. |
/validate-charset |
Проверьте файлы UTF-8 только для совместимых символов. |
/vd{0|1|2} |
Подавляет или включает скрытые члены класса vtordisp . |
/vlen |
Задает длину вектора. |
/vmb |
Использует оптимальное основание для указателей на члены. |
/vmg |
Использует полное обобщение для указателей на члены. |
/vmm |
Объявляет множественное наследование. |
/vms |
Объявляет одиночное наследование. |
/vmv |
Объявляет виртуальное наследование. |
/volatile:iso |
Семантика получения и выпуска не гарантируется при переменных доступах. |
/volatile:ms |
Семантика получения и выпуска гарантируется при переменных доступах. |
/volatileMetadata |
Создайте метаданные при доступе к переменной памяти. |
/w |
Отключите все предупреждения. |
/W0 , , /W1 /W2 , /W3 /W4 |
Задайте уровень предупреждения выходных данных. |
/w1<n> , , /w2<n> /w3<n> /w4<n> |
Задайте уровень предупреждения для указанного предупреждения. |
/Wall |
Включите все предупреждения, включая предупреждения, отключенные по умолчанию. |
/wd<n> |
Отключите указанное предупреждение. |
/we<n> |
Обработайте указанное предупреждение как ошибку. |
/WL |
Включите однострочный диагностика для сообщений об ошибках и предупреждениях при компиляции исходного кода C++ из командной строки. |
/wo<n> |
Отображение указанного предупреждения только один раз. |
/Wv:xx[.yy[.zzzzz]] |
Отключите предупреждения, появившиеся после указанной версии компилятора. |
/WX |
Обработайте предупреждения как ошибки. |
/X |
Пропускает стандартный каталог включаемых файлов. |
/Y- |
Пропускает все прочие параметры компилятора, относящиеся к предварительно скомпилированным заголовкам, в текущем построении. |
/Yc |
Создайте .PCH файл. |
/Yd |
Устарело. Размещает полную отладочную информацию во всех объектных файлах. Вместо этого используйте /Zi . |
/Yl |
Вставляет ссылку PCH при создании отладочной библиотеки. |
/Yu |
Использует файл предкомпилированного заголовка при построении. |
/Z7 |
Создает сведения о отладке, совместимые с C 7.0. |
/Za |
Отключает некоторые расширения языка C89 в коде C. |
/Zc:__cplusplus[-] |
__cplusplus Включите макрос, чтобы сообщить о поддерживаемом стандарте (отключен по умолчанию). |
/Zc:__STDC__ |
__STDC__ Включить макрос для отчета о стандарте C поддерживается (отключено по умолчанию). |
/Zc:alignedNew[-] |
Включите динамическое выделение C++17 (по умолчанию в C++17). |
/Zc:auto[-] |
Принудительно примените новое значение auto C++ (по умолчанию). |
/Zc:char8_t[-] |
Включите или отключите поддержку const char8_t собственного u8 литерала C++20 (по умолчанию, за исключением случаев, если они не поддерживаются/std:c++20 ). |
/Zc:enumTypes[-] |
Включите стандартные правила C++ для enum вычета типов (отключено по умолчанию). |
/Zc:externC[-] |
Применение стандартных правил C++ для extern "C" функций (подразумеваемых /permissive- ). |
/Zc:externConstexpr[-] |
Включите внешнюю компоновку для constexpr переменных (отключено по умолчанию). |
/Zc:forScope[-] |
Применение стандартных правил области C++ for (по умолчанию). |
/Zc:gotoScope |
Применение стандартных правил C++ goto вокруг инициализации локальных переменных (подразумеваемых /permissive- ). |
/Zc:hiddenFriend[-] |
Принудительное применение правил скрытых друзей C++ (подразумеваемых /permissive- ) |
/Zc:implicitNoexcept[-] |
Включите неявные noexcept функции для обязательных функций (по умолчанию). |
/Zc:inline[-] |
Удалите функции или данные без ссылок, если они COMDAT или имеют только внутреннюю компоновку (отключено по умолчанию). |
/Zc:lambda[-] |
Включите новый лямбда-процессор для синтактических проверок режима соответствия в универсальных лямбда-кодах. |
/Zc:noexceptTypes[-] |
Применение правил C++17 noexcept (по умолчанию в C++17 или более поздней версии). |
/Zc:nrvo[-] |
Включение необязательных копий и перемещение элизионов (по умолчанию /O2 /permissive- /std:c++20 или более поздних версий). |
/Zc:preprocessor[-] |
Используйте новый препроцессор соответствия (отключено по умолчанию, за исключением C11/C17). |
/Zc:referenceBinding[-] |
Временная функция UDT не привязывается к ссылке lvalue, отличной от const (по умолчанию). |
/Zc:rvalueCast[-] |
Принудительное применение правил явного преобразования типов C++ (отключено по умолчанию). |
/Zc:sizedDealloc[-] |
Включите функции размещения сделки глобального размера C++14 (по умолчанию). |
/Zc:strictStrings[-] |
Отключите строковый литерал в char* или wchar_t* преобразование (отключено по умолчанию). |
/Zc:templateScope[-] |
Применение стандартных правил тени параметров шаблона C++ (отключено по умолчанию). |
/Zc:ternary[-] |
Принудительное применение правил условного оператора для типов операнда (отключено по умолчанию). |
/Zc:threadSafeInit[-] |
Включите локальную статическую инициализацию в потокобезопасном режиме (по умолчанию). |
/Zc:throwingNew[-] |
Предположим, что возникает сбой operator new (по умолчанию отключен). |
/Zc:tlsGuards[-] |
Создайте проверки среды выполнения для инициализации переменной TLS (по умолчанию). |
/Zc:trigraphs |
Включите триграфы (устаревшие, отключенные по умолчанию). |
/Zc:twoPhase[-] |
Используйте несоответствующее поведение синтаксического анализа шаблона (соответствующее по умолчанию). |
/Zc:wchar_t[-] |
wchar_t является собственным типом, а не типом (по умолчанию). |
/Zc:zeroSizeArrayNew[-] |
Вызов элемента new /delete для массивов объектов нулевого размера (по умолчанию). |
/Ze |
Устарело. Включает расширения языка C89. |
/Zf |
Улучшает время создания PDB в параллельных сборках. |
/ZH:[MD5|SHA1|SHA_256] |
Указывает MD5, SHA-1 или SHA-256 для контрольных сумм в сведениях отладки. |
/ZI |
Включает отладочную информацию в базу данных программы, совместимую с функцией "Изменить и продолжить". (только x86) |
/Zi |
Создает полную отладочную информацию. |
/Zl |
Удаляет имя библиотеки по умолчанию из .obj файла. |
/Zm |
Указывает предел выделения памяти для предкомпилированного заголовка. |
/Zo[-] |
Создайте более подробные сведения об отладке для оптимизированного кода. |
/Zp[n] |
Упаковывает члены структур. |
/Zs |
Проверяет только синтаксис. |
/ZW |
Создает выходной файл для запуска в среда выполнения Windows. |
17.10 Этот параметр доступен начиная с Visual Studio 2022 версии 17.10.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC