ВУЗ:
Составители:
Рубрика:
48
могут быть коды команд, адреса и содержимое памяти данных, текст
программы на языке Ассемблера либо стандартизованный промежуточ-
ный код (например, так называемый P-код). В процессе генерации кода
производится и его оптимизация.
9.1.2. Модульное программирование, компоновка
Полученный в результате трансляции ОБЪЕКТНЫЙ МОДУЛЬ
включает в себя готовые к выполнению коды команд, адреса и содер-
жимое памяти данных. Но это касается только собственных внутренних
объектов программы (функций и переменных). Обращение к внешним
функциям и переменным, отсутствующим в данном фрагменте про-
граммы, не может быть полностью переведено во внутреннее представ-
ление и остается в объектном модуле в исходном (текстовом) виде. Но
если эти функции и переменные отсутствуют, значит они должны быть
каким-то образом получены в других объектных модулях. Самый есте-
ственный способ -написать их на том же самом С++ и откомпилировать.
Это и есть принцип МОДУЛЬНОГО ПРОГРАММИРОВАНИЯ – представле-
ние текста программы в виде нескольких файлов, каждый из которых
транслируется отдельно. С модульным программированием мы сталки-
ваемся в двух случаях:
когда сами пишем модульную программу;
когда используем стандартные библиотечные функции.
БИБЛИОТЕКА ОБЪЕКТНЫХ МОДУЛЕЙ – это файл (библиотечный
файл), содержащий набор объектных модулей и собственный внутрен-
ний каталог. Объектные модули библиотеки извлекаются из нее цели-
ком при наличии в них требуемых внешних функций и переменных и
используются в процессе компоновки программы.
КОМПОНОВКА – это процесс сборки программы из объектных мо-
дулей, в котором производится их объединение в исполняемую про-
грамму и связывание вызовов внешних функций и их внутреннего пред-
ставления (кодов), расположенных в различных объектных модулях.
Этот этап выполняет специальная программа – LINKER.
9.2. Виды областей существования имени
Вернемся к понятию "область существования имени". Можно вы-
делить 5 видов областей существования имени.
Область существования БЛОК. Напомним, что блок – это фраг-
мент программы, заключённый в фигурные скобки { }, например
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »