The preprocessor is executed at translation phase 4, before the compilation. The result of preprocessing is a single file which is then passed to the actual compiler. ... instruction (one of define, undef, include, if, ifdef, ifndef, else, elif, elifdef, elifndef (since C23), endif, line, embed (since C23), error, warning (since C23), pragma ...