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


Параметры компилятора, упорядоченные по категориям

Этот раздел содержит список параметров компилятора по категориям.Алфавитный список параметров см. в разделе Параметры компилятора в алфавитном порядке.

Оптимизация

Параметр

Назначение

/O1

Уменьшает размер кода.

/O2

Создает быстрый код.

/Ob

Управляет подстановкой подставляемых функций.

/Od

Отключает оптимизацию.

/Og

Использует глобальную оптимизацию.

/Oi

Создает встроенные функции.

/Os

Отдает приоритет уменьшению размера кода.

/Ot

Отдает приоритет быстрому коду.

/Ox

Использует максимальную оптимизацию (/Ob2gity /Gs).

/Oy

Отказ от использования указателя фрейма.(только архитектура x86)

Создание кода

Параметр

Назначение

/arch

Использование инструкций SSE или SSE2 при создании кода.(только архитектура x86)

/bigobj

Увеличивает число адресуемых секций в файле OBJ

/clr

Создает выходной файл, предназначенный для выполнения в среде CLR.

/EH

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

/favor

Формирует код, оптимизированный для конкретной архитектуры x64 или для специфики микроархитектур в архитектурах AMD64 и EM64T

/fp

Определяет с плавающей точкой расширения функциональности.

/G1

Оптимизирует для процессора Itanium.Параметр доступен только в кросс-компиляторе IPF или в компиляторе машинного кода IPF.

/G2

Оптимизирует для процессора Itanium2.Параметр доступен только в кросс-компиляторе IPF или в компиляторе машинного кода IPF.

/Gd

Использует соглашение о вызовах __cdecl.(только архитектура x86)

/Ge

Включает стековые зонды.

/GF

Включает объединение строк.

/Gh

Вызывает функцию-обработчик _penter.

/GH

Вызывает функцию-обработчик _pexit.

/GL

Включает оптимизацию всей программы.

/Gm

Включает минимальное перепостроение.

/GR

Включает информацию о типах во время выполнения (RTTI).

/Gr

Использует соглашение о вызовах __fastcall.(только архитектура x86)

/Gs

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

/GT

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

/GX

Включает синхронную обработку исключений.

/Gy

Включает компоновку на уровне функций.

/Gz

Использует соглашение о вызовах __stdcall.(только архитектура x86)

/MD

Создает многопоточную библиотеку DLL с помощью библиотеки MSVCRT.lib.

/MDd

Отладочной многопотоковой библиотеки DLL с помощью библиотеки msvcrt.lib.

/MT

Создание многопотокового исполняемого файла с помощью библиотеки LIBCMT.lib.

/MTd

Создание многопотокового исполняемого файла отладки с помощью библиотеки LIBCMTD.lib.

/Qfast_transcendentals

Создание быстрых трансцендентных функций.

/Qimprecise_fwaits

Удаляет команды fwait внутри блоков try.

/Qpar

Включает автоматическую параллелизацию циклов, которые помечены с помощью директивы цикл #pragma ().

/Qvec-report (Auto-Vectorizer Reporting Level)

Включает уровни отчетов для автоматического vectorization.

/ZW

Создает выходной файл для работы в Среда выполнения Windows.

Выходные файлы

Параметр

Назначение

/FA

Настроить файл списка сборки.

/Fa

Создает файл списка сборки.

/Fd

Переименовывает файл базы данных программы.

/Fe

Переименовывает исполняемый файл.

/Fi

Определяет предварительно обработанную имя файла вывода.

/Fm

Создает файл сопоставления.

/Fo

Создает объектный файл.

/Fp

Задает имя файла предкомпилированного заголовка.

/FR/Fr

Создает файлы браузера.

/Fx

Оптимизатором введенного кода с файлом источника.

Отладка

Параметр

Назначение

/GS

Проверяет безопасность буфера.

/GZ

Аналогично /RTC1

/homeparams

Принудительная запись параметров, переданных в регистрах, в соответствующие места в стеке при вхождении в функцию.Этот параметр компилятора предназначен только для компиляторов x64 (машинная компиляция и кросс-компиляция).

/RTC

Включает проверку ошибок во время выполнения.

/Wp64

Выявляет проблемы 64-битной переносимости.

/Yd

Размещает полную отладочную информацию во всех объектных файлах.

/Yl

Вставляет ссылки PCH создание отладочной библиотеки.

/Z7

Создает отладочную информацию, совместимую с C 7.0.

/Zi

Создает полную отладочную информацию.

/ZI

Включает отладочную информацию в базу данных программы, совместимую с функцией "Изменить и продолжить".(только архитектура x86)

Препроцессор

Параметр

Назначение

/AI

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

/C

Сохраняет комментарии на этапе предварительной обработки.

/D

Определяет константы и макросы.

/E

Копирует выходные данные препроцессора в стандартный вывод.

/EP

Копирует выходные данные препроцессора в стандартный вывод.

/FI

Выполняет предварительную обработку указанного включаемого файла.

/FU

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

/I

Осуществляет поиск включаемых файлов в каталоге.

/P

Записывает выходные данные препроцессора в файл.

/U

Удаляет предварительно определенный макрос.

/u

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

/X

Пропускает стандартный каталог включаемых файлов.

Язык

Параметр

Назначение

/openmp

Включает прагма-директиву #pragma omp в исходном коде.

/vd

Подавляет или включает скрытые элементы класса vtordisp.

/vmb

Использует оптимальное основание для указателей на члены.

/vmg

Использует полное обобщение для указателей на члены.

/vmm

Объявляет множественное наследование.

/vms

Объявляет одиночное наследование.

/vmv

Объявляет виртуальное наследование.

/volatile

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

/Za

Отключает расширения языка.

/Zc

Задает стандартное поведение при использовании параметра /Ze.

/Ze

Включает расширения языка.

/Zg

Создает прототипы функций.

/Zl

Удаляет имя библиотеки по умолчанию из файла OBJ.

/Zpn

Упаковывает члены структур.

/Zs

Проверяет только синтаксис.

Компоновка

Параметр

Назначение

/F

Задает размер стека.

/LD

Создает библиотеку динамической компоновки.

/LDd

Создает отладочную библиотеку динамической компоновки.

/LN

Создает модуль MSIL.

/link

Передает указанный параметр в программу LINK.

/MD

Компилирует для создания многопотоковой библиотеки DLL с помощью библиотеки MSVCRT.lib.

/MDd

Компилирует для создания отладочной многопотоковой библиотеки DLL с помощью библиотеки msvcrt.lib.

/MT

Компилирует для создания отладочного многопотокового исполняемого файла с помощью библиотеки LIBCMT.lib.

/MTd

Компилирует для создания отладочного многопотокового исполняемого файла отладки с помощью библиотеки LIBCMTD.lib.

Предкомпилированный заголовок

Параметр

Назначение

/Y-

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

/Yc

Создает файл предкомпилированного заголовка.

/Yd

Размещает полную отладочную информацию во всех объектных файлах.

/Yu

Использует файл предкомпилированного заголовка при построении.

Прочее

Параметр

Назначение

/?

Отображает список параметров компилятора.

@

Указывает файл ответа.

/analyze

Включает анализ кода

/c

Задает компиляцию без компоновки.

/doc

Обрабатывает комментарии для документации и помещает их в XML-файл.

/errorReport

Позволяет реализовать внутренние данные (ICE) ошибки компилятора C непосредственно команда Visual C++.

/FC

Указывает полный путь файла исходного кода, переданных cl.exe в диагностическом текста.

/H

Ограничивает длину внешних (открытых) имен.

/HELP

Отображает список параметров компилятора.

/hotpatch

Создание образа, допускающего горячее обновление.

/J

Изменяет тип char по умолчанию.

/kernel

Компилятор и компоновщик создает бинарный, могут быть выполнены в ядре Windows.

/MP

Параллельное построение нескольких исходных файлов.

/nologo

Подавление отображения приветствия.

QIfist

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

/QIPF_B

Отключает создание последовательностей инструкций, приводящих к непредсказуемым результатам, в соответствии со списком ошибок для ревизии процессора B(только архитектура IPF).

/QIPF_C

Отключает создание последовательностей инструкций, приводящих к непредсказуемым результатам, в соответствии со списком ошибок для ревизии процессора C(только архитектура IPF).

/QIPF_fr32

Отключает использование 96 верхних регистров с плавающей запятой(только архитектура IPF).

/QIPF_noPIC

Создание образа с кодом, зависящим от позиции (только архитектура IPF).

/QIPF_restrict_plabels

Улучшает производительность программ, не создающих функции во время выполнения(только архитектура IPF).

/showIncludes

Отображает список всех включаемых файлов во время компиляции.

/Tc/TC

Указывает исходный файл на языке C.

/Tp/TP

Указывает исходный файл на языке C++.

/V

Задает строку версии.

/Wall

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

/W

Устанавливает порог предупреждений.

/w

Отключает все предупреждения.

/WL

Включает однострочные диагностические сообщения об ошибках и предупреждения в ходе компиляции исходного кода C++ из командной строки.

/Zm

Указывает предел выделения памяти для предкомпилированного заголовка.

См. также

Ссылки

Параметры компилятора

Настройка параметров компилятора

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

Образец построения C/C++