/P (вывод результатов предварительной обработки в файл)

Предварительно обрабатывает исходные файлы C и C++ и записывает предварительно обработанные выходные данные в файл.

Синтаксис

/P

Замечания

Файл имеет то же базовое имя, что и исходный файл и расширение .i. В процессе выполняются все директивы препроцессора, выполняются расширения макросов, а примечания удаляются. Чтобы сохранить комментарии в предварительно обработанных выходных данных, используйте параметр /C (сохранить примечания во время предварительной обработки) вместе с /P.

/P добавляет #line директивы в выходные данные в начале и конце каждого включенного файла и вокруг строк, удаленных директивами препроцессора для условной компиляции. Эти директивы переначисливает строки предварительно обработанного файла. В результате ошибки, созданные на последующих этапах обработки, ссылаются на номера строк исходного исходного файла, а не строки в предварительно обработанном файле. Чтобы отключить создание #line директив, используйте /EP (предварительная обработка для stdout без директив #line), а также /P.

Параметр /P подавляет компиляцию. Он не создает OBJ-файл, даже если используется /Fo (имя файла объекта). Необходимо повторно отправить предварительно обработанный файл для компиляции. /P также подавляет выходные файлы из параметров /FA, /Fa и /Fm. Дополнительные сведения см. в разделе /FA, /Fa (Файл перечисления) и /Fm (Имя Mapfile).

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Выберите страницу свойств>конфигурации C/C++>Preprocessor.

  3. Измените свойство "Создать предварительно обработанный файл ".

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

Пример

Следующая предварительная обработка ADD.Cкомандной строки, сохранение комментариев, добавление #line директив и запись результата в файл: ADD.I

CL /P /C ADD.C

См. также

Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC
/Fi (предварительная обработка имени выходного файла)