Общие замечания о языке С++
• Алфавит языка, или его символы — это основные неделимые знаки, с помощью которых пишутся все тексты на языке. • Лексема - элементарная конструкция, или минимальная единица языка, имеющая самостоятельный смысл. • Выражение задает правило вычисления некоторого значения. • Оператор определяет описание некоторого действия. Это обычный набор конструктивных элементов, с которого можно было бы начать разговор о любом языке программирования.
Для описания сложного алгоритма требуется последовательность операторов. Операторы объединяют в составной оператор, или блок. В этом случае они рассматриваются как один оператор. Операторы могут быть исполняемые и неисполняемые. Исполняемые операторы задают действия над данными. Неисполняемые операторы служат для описания данных, поэтому их часто называют операторами описания или просто описаниями. Каждый элемент языка определяется синтаксисом и семантикой.
Синтаксиc языка - правила построения элементов языка, семантика - содержание (смысл) и правила использования.
Ну вот, опять ничего нового или оригинального. Все как в любом языке программирования.
Теперь о том, как строится программа на C++. Программа передается препроцессору, который выполняя директивы, из текста программы передает полный текст программы на вход компилятора, который выделяет лексемы, и на основе грамматики языка распознает выражения и операторы, построенные из этих лексем. Компилятор находит синтаксические ошибки, если они есть, или если их нет, строит объектный модуль.
Компоновщик (он же редактор связей) создает исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек. Если программа состоит из нескольких исходных файлов, они компилируются по отдельности и объединяются на этапе компоновки. Исполняемый модуль имеет расширение .ехе (а почему exe?) и запускается на выполнение.
Схема создания исполняемой программы