gcc print_integer.c test_print_integer.c -o test_print_integer Stage 1: preprocessor Expand #define, #include, etc. Remove comments Run using "cpp" or for our class, "264cpp" Stage 2: compiler Converts from ascii C code to binary code Compile from .c file into a .o file Run just the compiler using "gcc -c " Stage 3: linker Converts all the .o files into a executable Matching up any function calls to an existing function Run just the linker using "gcc" with .o files Run all stages together using "gcc" with .c files Preprocess directives #include #define #ifdef, #ifndef, #endif #pragma