O pré-processador é um programa que recebe um texto e efetua conversões léxicas, tais como substituição de macros, inclusão condicional, inclusão de ficheiros e exclusão de comentários. É baseado em Diretivas de Compilação (Ex: #define, #include, etc), que são comandos que não são compilados, dirigidos ao préprocessador e executado pelo compilador antes do processo de compilação em si.