![]() |
![]() |
Bokul |
![]()
Сообщение
#1
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Заинтересовал?
![]() Запускаем код и радуемся результатам:
type
ar=array[1..65456] of byte;
ar2=array[1..327600] of byte;
var p:^ar;
p2:^ar2;
begin
writeln('Free memory before allocation: ',GetHeapStatus.TotalFree);
new(p);
writeln('Free memory after allocation: ',GetHeapStatus.TotalFree);
dispose(p);
writeln('Free memory after dispose: ',GetHeapStatus.TotalFree);
new(p2);
writeln('Again allocation: ',GetHeapStatus.TotalFree);
dispose(p2);
writeln('Again dispose: ',GetHeapStatus.TotalFree);
readln;
end.
Системный блок раскручивать необязательно - все изменения проходят на программном уровне. P.S. Не знаю как энергия, но память из ниоткуда можно получить.. Fpc is the best ![]() P.P.S. Причина, наверно, кроется вот в чем: ![]() Т.е. тип cardinal, возвращаемый методом TotalFree, не имеет постоянного размера, и меняется в зависимости от присваиваемого значение. Имхо. Так вот, вопрос: как в Fpc измерять разницу свободной памяти до и после размещения в ней данных, без всяких таких казусов? Сообщение отредактировано: Bokul - 27.12.2006 6:39 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
![]() |
Текстовая версия | 30.07.2025 23:57 |