Этапы обработки исходных текстов
программ на языке С++.

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

Прежде чем текст программы превратится из вполне понятного человеку текста в выполняемый программный модуль, он пройдет три этапа обработки: препроцессорную обработку, компиляцию и сборку.

 

Препроцессорная обработка является предварительным этапом и служит, как бы до