Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

V. ФУНКЦИИ И ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ПАМЯТЬЮ

1. Функции и процедуры для работы с памятью и указателями.


Функция GetHeapStatus: THeapStatus;

Модуль: System, ShareMem

type THeapStatus = record
   TotalAddrSpace: Cardinal;
   TotalUncommitted: Cardinal;
   TotalCommitted: Cardinal;
   TotalAllocated: Cardinal;
   TotalFree: Cardinal;
   FreeSmall: Cardinal;
   FreeBig: Cardinal;
   Unused: Cardinal;
   Overhead: Cardinal;
   HeapErrorCode: Cardinal;
end;

Описание
Функция возвращает текущее состояние диспетчера памяти. Модуль System подключается для получения информации о глобальной куче, а модуль ShareMem, когда память используется несколькими различными процессами.

Назначение полей записи THeapStatus:

ПолеОписание
TotalAddrSpaceСуммарное адресное пространство (в байтах), доступное текущей Паскаль-программе.
TotalUncommittedСуммарное количество байт из адресного пространства TotalAddrSpace, под которые не было выделено место в файле подкачки (swap file).
TotalCommittedСуммарное количество байт из адресного пространства TotalAddrSpace, для которых было выделено место в файле подкачки
TotalCommitted:=TotalAddrSpace-TotalUncommitted
TotalAllocatedСуммарное адресное пространство в байтах, выделенное динамически под текущую программу.
TotalFreeСвободное адресное пространство в байтах, которое может быть выделено дополнительно для текущей программы.
FreeSmallСуммарное количество байт в свободных малых блоках памяти.
FreeBigСуммарный объем больших блоков памяти, которые не были выделены под текущую программу. Большие блоки могут быть созданы объединением малых блоков, идущих подряд или динамическим освобождением большего объема памяти.
UnusedСуммарное количество байт, которое никогда ранее не было выделено для текущей программы
(Unused + FreeBig + FreeSmall = TotalFree).
OverheadОбъем памяти в байтах, необходимый диспетчеру памяти для работы со всеми блоками памяти, которые были динамически выделены текущей программе.
HeapErrorCodeТекущее состояние кучи.

Значения полей TotalAddrSpace, TotalUncommitted и TotalCommitted относятся к адресному пространству памяти операционной системы, используемого программой. Значения TotalAllocated и TotalFree относятся к памяти кучи, динамически распределяемой для использования программой. Т.е. информацию о динамической памяти, используемой в вашей программе, можно получить из значений полей TotalAllocated и TotalFree.


[ Оглавление ]









helloworld.ru © 2001-2021
Все права защищены