Воскресенье, 05 Май 2024, 17:59
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Высшая математика [11]
Экономическая социология [95]
Основы Менеджмента [64]
Бухгалтерский учёт [157]
Философия [163]
Мировая Экономика [603]
Бизнес планирование [29]
Финансирование и кредитование инвест [105]
Ценообразование [46]
Гражданское право [196]
Права Человека [173]
Основы Маркетинга [207]
Основы энергосбережения [55]
Информатика [0]
Экология и устойчивое развитие [0]
Физика для студентов [0]
Основы права [0]
Политология [0]
Не стандартные примеры на Delphi [169]
Примеры на Delphi7 [108]
Алгоритмы [94]
API [110]
Pascal [152]
Базы Данных [6]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51635


Онлайн всего: 4
Гостей: 4
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

Каталог статей


Главная » Статьи » Студентам » Pascal

Управление размером сегмента данных
Тема: Управление размером сегмента данных

Ошибка "Data Segment too large" (сегмент данных слишком велик) возникает в
Delphi 16-битных приложениях в случае, когда размер статических данных, стека и
локальной кучи превышает предел приложений Windows, установленный в 64К. В
данном совете обсуждается тема идентификации и изменения части вашего кода,
которая поглощает память в сегменте данных, и как, собственно, управлять этим
ограниченным ресурсом.

Из чего состоит сегмент данных?

Task header: 16 байт различной системной информации Windows
(заголовок
задачи)
Static data: Содержит глобальные переменные и типовые
(статические константы
данные)
Stack: Хранит локальные переменые, распределенные
(стек) процедурами и функциями. Размер стека по
по умолчанию 16К и может быть изменен на
странице Options|Project|Linker.
Local heap: Используется Windows для временного хранения и
(локальная по умолчанию имеет размер 8К. Не устанавливайте
куча) разнер локальной кучи, равным 0. Windows при
необходимости может увеличить данную область.
Как мне
узнать полный размер сегмента данных?

Для того, чтобы получить размер статических данных 16-битного приложения
Delphi, стека и локальной кучи для проекта, скомпилируйте проект и выберите в
меню Delphi пункт Compile|Information. Для нового проекта с одной формой диалог
покажет следующую информацию:

Source compile: 12 lines (скомпилировано 12 строк исходного кода)
Code size: 128981 bytes (размер кода 128981 байт)
Data size: 3636 bytes (размер данных 3636 байт)
Stack size: 16384 bytes (размер стека 16384 байт)
Local Heap size: 8192 bytes (размер локальной кучи 8192 байт)
Приложение
Delphi начинается с объявления в модуле статических данных, тем самым
обеспечивая функциональную инициализацию. Если единственная глобальная
переменная является именем формы, то приложение занимает уже, по крайней мере,
3,636 байт. Добавляя вторую форму, размер увеличивается только до 3640 --
добавляется только размер глобальной переменной, необходимой для объявления
второй формы.

var

Form2: TForm2; { 4-х байтный указатель
}
Категория: Pascal | Добавил: Lerka (22 Ноя 2012)
Просмотров: 429 | Рейтинг: 1.0/ 4 Оштрафовать | Жаловаться на материал
Похожие материалы
Всего комментариев: 0

Для блога (HTML)


Для форума (BB-Code)


Прямая ссылка

Профиль
Воскресенье
05 Май 2024
17:59


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Главная страница
Используются технологии uCoz