Четвертый Borland C++ и его окружение


Связывание функций


В случае раннего связывания адреса всех функций и процедур определяются на этапе компиляции и компоновки программы, т.е. до выполнения программы.

Вызовы функции: Описания функций:

func_down(); > my_first_metod();

my_metod(); > func_down();

my_first_metod(); > my_metod();

Так, в языке Cи компилятор прежде всего должен найти описание функции по заданному имени.

> описание функции

int my_first_metod(int a, int b)

{

return a + 2*b;

}

.......................

k = my_first_metod(12, 24);

< вызов функции

В противоположность этому, в случае позднего связывания адрес

функции элемента не связывается с обращением к нему до того момента,

пока обращение не произойдет фактически, то есть во время выполнения

программы.

Так в библиотеке Turbo Vision любой объект, порожденный от

TView, должен быть способен к самоизображению в любой момент времени.

Объект TView определяет виртуальную функцию элемент draw, и каждый

порожденный от него объект должен также иметь эту функцию элемент.

Это имеет большое значение, т.к. часто отображаемый объект может быть

закрыт другим отображаемым объектом (или на него может быть наложен

другой отображаемый объект) и когда другой отображаемый объект убирается или смещается, то отображаемый объект должен быть способен к изображению своей части, которая была скрыта.

File Window

Next F6 Demo Window 3

Zoom F5 Demo Window 7

Demo Window 8

Demo Window 1

Demo Window 4

Demo Window 6 Window 2

[*] Demo Window 9 [+]

Alt-X Exit F4 New Alt-F3 Close

Рисунок: программа, написанная с помощью библиотеки Turbo Vision

с множеством открытых окон.

В такой динамической системе нельзя заранее предсказать, сколько

отображаемых объектов будет на экране, каких они будут типов (окно,

меню, диалоговая панель и т.д.) и в какой последовательности пользователь будет с ними работать. В программе, где используется только

ранее связывание, вся информация о количестве, координатах и типах

отображаемых объектов хранится в основной программе. Все возможные




- Начало -  - Назад -  - Вперед -



Книжный магазин