Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.17.4 Модифікатори пеаг, ґаг, Ііиде - Програмування С, С++теорія та практика (частина 1) - Studbook
Главная->Інформатика та програмування->Содержание->1.17.4 Модифікатори пеаг, ґаг, Ііиде

Програмування С, С++теорія та практика (частина 1)

1.17.4 Модифікатори пеаг, ґаг, Ііиде

Ці модифікатори здійснюють вплив на роботу з адресами об’єктів.

Компілятор мови Сі дозволяє використовувати при компіляції одну з декількох моделей пам’яті.

Використання моделі пам’яті визначає розміщення програми і даних в ОП, а також внутрішній формат покажчиків. Однак при використанні будь-якої моделі пам’яті можна оголосити покажчик з форматом, що відрізняється від прийнятого по замовчуванню. Це здійснюється за допомогою модифікаторів пеаг,/аг і киде.

Покажчик типу пеаг - 16-бітовий; для визначення адреси об’єкта він використовує зсув відносно поточного вмісту сегментного регістру. Для покажчика типу пеаг доступна пам’ять обмежена розміром поточного 64-кілобайтного сегмента даних.

Покажчик типу /аг - 32-бітовий; він містить як адресу сегменту, так і зсув. При використанні покажчиків типу /аг припустимі звернення до пам’яті в межах 1-мегабайтного адресного простору, однак значення покажчика типу іаг циклічно змінюється в межах 64- кілобайтного сегменту.

Покажчик типу киде - 32-бітовий; він також містить адресу сегменту і зсув. Значення покажчика типу киде може бути змінене в межах 1-мегабайтного адресного простору. В ТС покажчик киде завжди зберігається в нормалізованому форматі.

 

86