Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Марченко А.Л. -> "С++ бархатный путь " -> 6

С++ бархатный путь - Марченко А.Л.

Марченко А.Л. С++ бархатный путь — М.: Горячая линия - Телеком, 2005. — 399 c.
ISBN 5-93517-056-6
Скачать (прямая ссылка): barhatniyput2005.djvu
Предыдущая << 1 .. 2 3 4 5 < 6 > 7 8 9 10 11 12 .. 152 >> Следующая

Объектные модули поступают на вход компоновщику, который на основе объектных модулей создаёт загрузочные (или исполняемые) модули, которые выполняются процессором после их размещения в оперативной памяти.
Рассмотрим в общих чертах процесс компоновки. Программа строится из инструкций и операторов. В свою очередь, операторы включают выражения, которые состоят из операций и операндов. По крайней мере, части операндов в выражениях должны соответствовать отдельные области оперативной памяти, предназначаемые, например, для сохранения промежуточных результатов вычислений В ходе трансляции устанавливается соответствие между операндами и адресами областей памяти вычислительной машины. Так вот задача компоновщика состоит в согласовании адресов во всех фрагментах кода, из которых собирается готовая к выполнению программа. Компоновщик отвечает за то, чтобы конкретному операнду выражения соответствовала определённая область памяти.
Компоновщик также добавляет к компонуемой программе коды так называемых библиотечных функций (они обеспечивают выполнение конкретных действий — вычисления, вывод информации на экран дисплея и т.д.), а также код, обеспечивающий размещение программы в памяти, её корректное начало и завершение.
Процесс разработки программ, состоящих из нескольких файлов эффективнее, особенно если разрабатывается программа большого раз-
12
мера, когда над реализацией проекта может работать несколько программистов, каждый из которых имеет возможность модифицировать фрагменты программы, не мешая работе остальных. В C++ не существует специальных языковых конструкций, которые непосредственно в программе описывали бы общую структуру программы, состоящей из нескольких файлов. Обычно структура программы описывается специальными неязыковыми средствами и зависит от конкретной реализации системы программирования. Связи между частями программы поддерживаются специальными файлами проектов, в которых и фиксируется вся необходимая для создания программы информация.
Библиотеки
Языки программирования предназначены для написания программ. Однако было бы странно писать всякий раз одни и те же программы или даже одни и те же подпрограммы (например, подпрограмму вывода информации не дисплей или на принтер - эта подпрограмма требуется практически в каждой программе).
К счастью, проблема многократного использования программного кода уже очень давно и успешно решена.
Практически каждая система, реализующая тот или иной язык программирования (транслятор, компоновщик и прочее программное окружение) имеет набор готовых к использованию фрагментов программного кода. Этот код может находиться в разной степени готовности. Это могут быть фрагменты текстов программ, но, как правило, это объектный код, располагаемый в особых файлах. Такие файлы называются библиотечными файлами.
Для использования библиотечного кода программисту бывает достаточно указать в программе требуемый файл и обеспечить вызов соответствующих функций. Для использования библиотечного кода бывает достаточно стандартного набора языковых средств. Решение всех остальных проблем транслятор и компоновщик берут на себя. Разумеется, программисту должно быть известно о существовании подобных библиотек и
о содержании библиотечных файлов.
13
1. Идентификаторы, имена, типы, выражения
Алфавит C++
Алфавит (или множество литер) языка программирования C++ основывается на множестве символов таблицы кодов ASCII. Алфавит C++ включает:
¦ строчные и прописные буквы латинского алфавита (мы их будем называть буквами),
¦ цифры от 0 до 9 (назовём их буквами-цифрами),
¦ символ'J (подчерк — также считается буквой),
¦ набор специальных символов:
“ {> . 111 + *% ; ‘: ? < > * 1 & А • *
¦ прочие символы.
Алфавит C++ служит для построения слов, которые в C++ называются лексемами. Различают шесть типов лексем:
¦ идентификаторы.
¦ ключевые слова,
И знаки (символы) операций,
¦ символы управления препроцессором,
¦ литералы,
¦ разделители.
Почти все типы лексем (кроме ключевых слое и идентификаторов) имеют собственные правила словообразования, включая собственные подмножества алфавита.
Лексемы разделяются разделителями. Этой же цели служит множество пробельных символов, к числу которых относятся пробел, символы горизонтальной и вертикальной табуляции, символ новой строки, перевода формата и комментарии.
Правила образования идентификаторов
Рассмотрим правила построения идентификаторов из букв алфавита (в C++ их три):
1. Первым символом идентификатора C++ может быть только
буква.
2. Следующими символами идентификатора могут быть буквы, буквы-цифры и буквы-подчерки.
3. Длина идентификатора неограниченна (фактически же длина зависит от реализации системы программирования).
14
Вопреки правилам словообразования в C++ существуют ограничения относительно использования подчерка в качестве самой первой буквы в идентификаторах. Особенности реализации делают нежелательными для использования идентификаторы, которые начинаются с этого символа.
Предыдущая << 1 .. 2 3 4 5 < 6 > 7 8 9 10 11 12 .. 152 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.