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
% 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.
I wrote this because I felt like it. This post is not associated with my employer. This site is hosted by Netlify (who are great, but I'm not associated with them either).