/E (Предварительная обработка до stdout)
Обновлен: Ноябрь 2007
Предварительная обработка исходных файлов C и C++ и копирование предварительно обработанных файлов на стандартное устройство вывода.
/E
Заметки
В этом процессе выполняются все директивы препроцессора, исполняются все расширения макросов, а комментарии удаляются. Чтобы сохранить комментарии в выходе препроцессора, используйте также параметр /C (сохранять комментарии во время предварительной обработки) компилятора.
/E добавляет в выходном файле директивы #line в начале и в конце каждого включенного файла, а также вокруг строк, удаленных директивами препроцессора для условной компиляции. Директивы перенумеровывают строки предварительно обработанного файла. В результате, ошибки, созданные на более поздних этапах обработки, ссылаются на номера строк исходного файла, а не на номера строк предварительно обработанного файла.
Параметр /E запрещает компиляцию. Следует повторить отправку предварительно обработанного файла для компиляции. Параметр /E также запрещает создание выходных файлов в результате использования параметров /FA, /Fa и /Fm. Дополнительные сведения см. в разделах /FA, /Fa (файл листинга) и Параметр /Fm (имя файла сопоставления).
Для отключения директив #line воспользуйтесь параметром /EP (предварительная обработка в поток стандартных выходных файлов без директив #line).
Для отправки предварительно обработанного вывода в файл вместо stdout используйте параметр /P (вывод результатов предварительной обработки в файл).
Для отключения директив #line и отправки предварительно обработанного вывода в файл используйте /P и /EP вместе.
Нельзя использовать предварительно скомпилированные заголовки с параметром /E.
Заметьте, что при предварительной обработке в отдельный файл, после маркеров пробелы не ставятся. Это может привести к недопустимой программе или иметь побочные эффекты. Следующая программа компилируется успешно:
#define m(x) x
m(int)main( )
{
return 0;
}
Но если вы компилируете с
cl -E test.cpp > test2.cpp
int main в test2.cpp будет иметь некорректный вид — intmain.
Установка параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Откройте папку C/C++.
Выберите страницу свойств Командная строка.
Введите параметры компилятора в поле Дополнительные параметры.
Установка данного параметра компилятора программным способом
- См. раздел GeneratePreprocessedFile.
Пример
Следующая командная строка инициирует предварительную обработку ADD.C, сохраняет комментарии, добавляет директивы #line и отображает результат на стандартном устройстве вывода:
CL /E /C ADD.C