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


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

Обновлен: Ноябрь 2007

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

Оптимизация

Параметр

Назначение

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

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

Параметр

Назначение

/FA

Создание файла листинга с указанием имени файла

/Fa

Создание файла листинга с указанием имени файла

/Fd

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

/Fe

Переименование исполняемого файла

/Fm

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

/Fo

Создание объектного файла

/Fp

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

/FR/Fr

Создание файлов обозревателя

/Fx

Включение введенного кода в исходный файл

Отладка

Параметр

Назначение

/GS

Буферизация проверки безопасности

/GZ

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

/homeparams

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

/RTC;

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

/Wp64

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

/Yd

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

/Yl

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

/Z7

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

/Zi

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

/ZI

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

/Zx

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

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

Параметр

Назначение

/AI

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

/C

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

/D

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

/E

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

/EP

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

/Fl

Проводит предобработку указанного включаемого файла

/FU

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

/I

Поиск включаемых файлов в каталоге

/P

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

/U

Удаление предопределенного макроса

/u

Удаление всех предопределенных макросов

/X

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

Язык

Параметр

Назначение

/openmp

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

/vd

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

/vmb

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

/vmg

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

/vmm

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

/vms

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

/vmv

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

/Za

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

/Zc

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

/Ze

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

/Zg

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

/Zl

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

/Zpn

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

/Zs

Только проверка синтаксиса

Компоновка

Параметр

Назначение

/F

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

/LD

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

/LDd

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

/LN

Создание модуля MSIL.

/link

Передача указанного параметра программе LINK

/MD

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

/MDd

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

/MT

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

/MTd

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

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

Параметр

Назначение

/Y-

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

/Yc

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

/Yd

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

/Yu

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

Прочее

Параметр

Назначение

/?

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

@

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

/analyze

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

/c

Компиляция без компоновки

/doc

Сведение документирующих комментариев в XML-файл.

/errorReport

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

/FC

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

/H

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

/HELP

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

/hotpatch

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

/J

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

/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++