Нет.Препроцессор просто вставляет включенный файл в ваш код, а затем выполняет лексический анализ и т. Д. Получающегося «большого шарика».
В действительности препроцессор, вероятно, не создает весь «большой шарик»,он просто выполняет лексический анализ, чтобы создать поток токенов, которые могут быть переданы на более поздние этапы компиляции.
Большинство компиляторов позволяют генерировать «большой двоичный объект» (gcc использует опцию -E) - этосоздаст файл со всем вашим кодом и всем включенным кодом и, возможно, с некоторыми дополнительными маркерами «cpp добавили», такими как номера строк из исходного файла и т. д., чтобы помочь с отчетами об ошибках.
Причина, по которой ошибки из включенных файлов появляются первыми, заключается в том, чтопотому что они встречаются в первую очередь компилятором.