Автор Котяра задал вопрос в разделе Прочее компьютерное
В чем разница между компилятором и препроцессором? и получил лучший ответ
Ответ от Krab Вark[гуру]
Компилятор превращает текст программы в машинный код - закодированные в виде битов команды и данные. Препроцессор - нечто вроде автоматизированного текстового редактора, он делает указанные ему подстановки и замены в исходном тексте программы. Препроцессор используется, чтобы превратить исходный сжатый текст программы в полный, этот исходный текст преобразуется препроцессором (команды для препроцессора включаются программистом в этот текст, они имеют особый вид, препроцессор распознает их, выполняет и удаляет из текста программы) , после чего откорректированный препроцессором текст передается компилятору для преобразования в машинный код.
Например, препроцессор может включать в текст программы куски текста, содержащиеся в указанных ему файлах, заменять, скажем, слово Pi на 3.14159265359 и так далее.
процессор - это фактически компилятор, который переводит предложения с рефала во внутреннее представление
Препроцессор - это обработчик исходного кода. На выходе, мы имеем исходный код, пригодный для компиляции. например, препроцессор разворачивает все директивы, осуществляет макрозамены и выкидывает лишние куски кода которые не используются в программе.
Затем чистый код, без макросов и директив подается на компилятор, который знать не знает ни о каких макросах и директивах...