Хотя только этап предварительной обработки является частью языкового стандарта, большинство платформ делят весь процесс сборки на
- предварительную обработку,
- компиляцию,
- сборку,
- linking.
Компиляция - это фаза, включающая в себя всю «тяжелую работу», начиная с лексизма и парсинга.Оптимизация происходит где-то вдоль дороги.
Некоторые современные системы, использующие некоторую форму «оптимизации времени компоновки», могут откладывать или повторять этап компиляции / сборки, пока все составляющие объектные файлы не будут обработаны один раз, но морально этоне сильно отличается от того, если вы просто объедините все входные файлы вашего проекта в один большой файл и скомпилируете его.