Header file contains:
Source file contains:
preprocessor command = any line beginning with #
#define
#include
What if, with all your nested #includes, you end up having a definition show up more than once?
To compile all at once (only useful if you have just a couple files):
OR
Can compile separately, creating object files (ending in .o):
and then link: