O que o pré-processamento significa exatamente no compilador

Eu estou tentando entender a diferença entre um typedef e define. Existem muitos posts bons especialmente emesta pergunta anterior sobre SO, no entanto, não consigo entender o post que afirma

#define é um token de pré-processador: o próprio compilador nunca o verá.
typedef é um token de compilador: o pré-processador não se importa com isso.

Alguém poderia explicar isso com um pouco mais de detalhes? Estou confuso com o termo pré-processador aqui.

questionAnswers(6)

yourAnswerToTheQuestion