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.
I wrote this because I felt like it. This post is my own, and not associated with my employer.
Jim. Public speaking. Friends. Vidrio.