· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ZEN —› Большая черепаха

Посл.отвђт Сообщенiе


Дата: Июн 26, 2004 21:57:14

Делаю в D7 под WinXP, предварительно увеличив размер своп-файла (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management.PagingFiles=побольше)
{$APPTYPE CONSOLE}
{$IMAGEBASE $7FFF0000}
var
 a:array[0..$76FF599F] of byte;
 i:integer;
begin
 for i:=0 to sizeof(a) do
     a[i]:=0;
 writeln(sizeof(a));
end.

и получил размер переменной 1996446112 байт (в 98 окошках ушел за 2 млн). Интересно, а можно ли больше для статической переменной? И куда сжираются недостающие до 2GB байтики. А то что-то посидел с калькулятором и файликом tdump project1 > dumpPE.txt и не сходица


Дата: Июн 27, 2004 08:49:20

А Рихтера - лень почитать? О памяти в винде например...


Дата: Июн 27, 2004 16:58:28

..а ещё там будет написаное, что файл с IMAGEBASE = 7FFF0000h не запустится в NT.
Поиск по ключевым словам: Four-F, Рихтер, VirtualAlloc.


Дата: Июн 27, 2004 18:53:47

Но ведь запускается же! Зуб даю, запускается. Правда приходится ждать более пяти минут, чтоб выполнилась.


Дата: Июн 27, 2004 19:35:44

Если из файла убрать релоки, которые видимо добавляет D7, то не запустится.
Отладчиком попробуйте загрузить.


Дата: Июн 27, 2004 22:21:15

Загружал через W32DASM и стандартный дельфийский дебаггер, все чинно. Какие релоки убирать, поподробнее?


Дата: Июн 28, 2004 14:33:08

Посмотрите в дебаггере адрес загрузки.
И поиск по форуму - что искать я уже писал..

    Таблица 13-1. Так адресное пространство процесса разбивается на разделы
    Для выявления		0x00000000
    нулевых указателей	0x0000FFFF 
    
    Для кода и данных	0x00010000
    пользовательского	0x7FFEFFFF
    режима
    
    Закрытый,		0x7FFF0000
    размером 64 Кб		0x7FFFFFFF
    
    Для кода и данных	0x800000000
    режима ядра		0xFFFFFFFF 


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068