Как увидеть исходный файл C/C++ после предварительной обработки в Visual Studio?
предположим, у меня есть исходный файл со многими директивами препроцессора. Можно ли увидеть, как он выглядит после того, как препроцессор закончит с ним?
3 ответов
cl.exe
, интерфейс командной строки для Microsoft Visual C++, имеет три различных варианта вывода предварительно обработанного файла (отсюда несоответствие в предыдущих ответах о Visual C++):
-
/E
: предварительная обработка в stdout (аналогично опции GCC-E) -
/P
: предварительная обработка файла -
/EP
: предварительная обработка в stdout без #line директивы
если вы хотите предварительно обработать файл без директив #line, объедините /P
и /EP
параметры.
большинство компиляторов имеют возможность просто запустить препроцессор. например, gcc обеспечивает-E:
-E Stop after the preprocessing stage; do not run the compiler proper.
The output is in the form of preprocessed source code, which is sent
to the standard output.
Так что вы можете просто запустить:
gcc -E foo.c
Если вы не можете найти такую опцию, вы также можете просто найти препроцессор C на вашем компьютере. Он обычно называется cpp и, вероятно, уже находится на вашем пути. Вызовите его следующим образом:
cpp foo.c
Если есть заголовки, которые вам нужно включить из других каталогов, вы можете передать-I / path/to / include/dir to любой из них, как и при обычной компиляции.
для Windows, я оставлю его другим плакатам, чтобы предоставить ответы, поскольку я не эксперт там.
щелкните правой кнопкой мыши файл в обозревателе решений, goto Properties. В разделе свойства конфигурации - >C / C++ - >препроцессор "создать Препроцессорный файл" - это то, что вы ищете. Затем щелкните правой кнопкой мыши файл в обозревателе решений и выберите "скомпилировать". Предварительно обработанный файл создается в выходном каталоге (например, Release, Debug )с расширением.я (спасибо Стиду за его комментарий).