Справочник языка Cи



         

Виды моделей - часть 3


В малой модели для доступа к объектам кода или данных используются указатели типа near. Можно, однако, изменить это умолчание, применяя модификаторы far или huge

для объявления элементов данных и модификатор far

для функций.

Средняя модель

В средней (medium) модели памяти для данных и стека программы выделяется один сегмент, а для кода — столько сегментов, сколько потребуется. Каждому исходному модулю программы выделяется собственный сегмент кода.

Средняя модель применяется обычно для программ с большим количеством операторов (более 64 Кбайтов кода), но сравнительно небольшим размером данных (менее 64 Кбайтов). Для доступа к функциям по умолчанию используются указатели типа far, для доступа к данным — указатели типа near. Можно, однако, изменить это умолчание, применяя модификаторы far или huge

для объявления элементов данных и модификатор near

для функций.

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

Компактная модель

В компактной (compact) модели программному коду выделяется только один сегмент, а данным — столько сегментов, сколько потребуется. Компактная модель применяется для программ, небольших по количеству операторов, но работающих с большим объемом данных.

В компактной модели доступ к коду (функциям) производится по указателям типа near, а к данным — по указателям типа far. Это умолчание можно обойти, используя модификаторы near и huge для объявления данных и модификатор far для функций.

Большая модель

В большой (large) модели и под код, и под данные выделяется несколько сегментов. Большая модель используется для больших программ с большим объемом данных.

В большой модели доступ к элементам кода и данных производится по указателям типа far. Это умолчание можно обойти, используя модификаторы near и huge

для объявления данных и модификатор near для функций.

Максимальная модель

Максимальная (huge) модель аналогична большой модели, за исключением того, что в ней снимается ограничение на размер массивов (указатели типа far, применяемые в большой модели, ограничивают размер отдельного элемента данных 64 Кбайтами). Некоторые ограничения, однако, налагаются на размер элементов huge




Содержание  Назад  Вперед