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.

Similar posts

More by Jim

👋 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!

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