How do I find out which preprocessor my C compiler uses?

When you run clang main.c, the compiler first runs the preprocessor on main.c. You can run just the preprocessor step with clang -E main.c.

Which preprocessor does clang use? The compiler calls out to subprogram for this. You can ask the compiler which subprograms it uses with the -print-prog-name flag.

% clang -print-prog-name=cpp
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cpp

The main interesting thing is that this preprocessor is not a clang preprocessor; it’s the one provided by Xcode on my system.

Tagged #c.
đź‘‹ I'm Jim, a full-stack product engineer. Want to build an amazing product and a profitable business? Read more about me or Get in touch!

More by Jim

This page copyright James Fisher 2016. Content is not associated with my employer. Found an error? Edit this page.