------------- ----------
ask.c ---> | compiler | ---> ask.o ---> | linker | --> guessask
------------- ----------
/|\
|
------------- |
guess.c ---> | compiler | ---> guess.o -------
------------- |
|
\|/
------------- ----------
canned.c ---> | compiler | ---> canned.o --> | linker | --> guesscanned
------------- ----------
/* general form of macro definition */
#define name text_to_substitute_for_name
/* examples of macro definitions */
#define MAX_VALUE 3
#define begin {
#define end }
/* code using example macros */
begin /* preprocessed to { */
int array[MAX_VALUE]; /* preprocessed to int array[3] */
end /* preprocessed to } *//* general form of include directive */ #include file_name /* examples */ #include "guess.h" /* read guess.h */ #include <stdio.h> /* read stdio.h from standard directory */