Search code examples
gccmacrosc-preprocessor

How to view C preprocessor output?


How do I view the output produced by the C pre-processor, prior to its conversion into an object file?

I want to see what the MACRO definitions do to my code.


Solution

  • gcc -E file.c
    

    or

    g++ -E file.cpp
    

    will do this for you. The -E switch forces the compiler to stop after the preprocessing phase, spitting all it’s got at the moment to standard output.

    Note: Surely you must have some #include directives. The included files get preprocessed, too, so you might get lots of output.

    For Visual C++ the switch is /E which spits the preprocessor output to screen.