/P (вывод результатов предварительной обработки в файл)
Выполняет предварительную обработку файлов на языке C и С++ и записывает выходные данные предварительной обработки в файл.
/P
Заметки
Файл имеет базовое имя исходного файла и расширение I.В процессе выполняются все директивы препроцессора, выполняются расширения макросов, а комментарии удаляются.Чтобы сохранить комментарии в выходных данных предварительной обработки, используйте вместе с параметром /C (сохранять комментарии во время предварительной обработки) вместе с /P.
/P добавляет в выходном файле директивы #line в начале и в конце каждого включенного файла, а также вокруг строк, удаленных директивами препроцессора для условной компиляции.Директивы перенумеровывают строки предварительно обработанного файла.В результате, ошибки, созданные на более поздних этапах обработки, ссылаются на номера строк исходного файла, а не на номера строк предварительно обработанного файла.Чтобы запретить создание директив #line, используйте вместе с параметром /P параметр /EP (предварительная обработка в поток стандартных выходных файлов без директив #line).
Параметр /P запрещает компиляцию.OBJ-файл не создается, даже когда используется параметр /Fo (имя объектного файла).Следует повторить отправку предварительно обработанного файла для компиляции./P также запрещает файлы вывода из параметров /FA, /Fa и /Fm.Дополнительные сведения см. в разделах /FA, /Fa (файл листинга) и Параметр /Fm (имя файла сопоставления).
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта.Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Откройте папку C/C++.
Щелкните страницу свойств Препроцессор.
Измените значение свойства Создание предварительно обработанного файла.
Установка данного параметра компилятора программным способом
- Дополнительные сведения см. в разделе GeneratePreprocessedFile.
Пример
Следующая командная строка предварительно обрабатывает ADD.C, сохраняет комментарии, добавляет директивы #line и записывает результаты в файл ADD.I:
CL /P /C ADD.C