Co dokładnie oznacza przetwarzanie wstępne w kompilatorze

Próbuję zrozumieć różnicę między typedef a definicją. Jest wiele dobrych postów na stronieto poprzednie pytanie dotyczące SO, jednak nie mogę zrozumieć postu, który stwierdza

#define jest tokenem preprocesora: sam kompilator nigdy go nie zobaczy.
typedef jest tokenem kompilatora: preprocesor nie dba o to.

Czy ktoś mógłby wyjaśnić to trochę bardziej szczegółowo. Jestem pomylony z terminem preprocessor tutaj.

questionAnswers(6)

yourAnswerToTheQuestion