Как увидеть исходный файл C/C++ после предварительной обработки в Visual Studio?

предположим, у меня есть исходный файл со многими директивами препроцессора. Можно ли увидеть, как он выглядит после того, как препроцессор закончит с ним?

3 ответов


cl.exe, интерфейс командной строки для Microsoft Visual C++, имеет три различных варианта вывода предварительно обработанного файла (отсюда несоответствие в предыдущих ответах о Visual C++):

если вы хотите предварительно обработать файл без директив #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 )с расширением.я (спасибо Стиду за его комментарий).