/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
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Выберите страницу свойств>конфигурации C/C++>Preprocessor.
Измените свойство "Создать предварительно обработанный файл ".
Установка данного параметра компилятора программным способом
- См. раздел GeneratePreprocessedFile.
Пример
Следующая предварительная обработка ADD.C
командной строки, сохранение комментариев, добавление #line
директив и запись результата в файл: ADD.I
CL /P /C ADD.C
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC
/Fi (предварительная обработка имени выходного файла)