Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

динамический массив максимальной длины [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Страницы:   1 2

AMC ©   (2002-12-26 20:35:00) 

Нужно создать динамический массив максимальной длины, например 100000000000000000, но компилятор выдает ошибку. Как быть? Помогите пожалуста.


Alex Konshin   (2003-01-03 03:36:00) [1]

Ну не верю я, что действительно нужен массив такого размера!
Только представьте, сколько он заполняться будет.
Скорее всего нужен разреженный массив, тогда нужно просто что-то вроде hashtable с int64 ключом.
Короче, человек явно не может спроектировать алгоритм.


Моджахед   (2003-01-03 03:09:00) [2]

2 Приведи пример хотя-бы 64 битной распространенной файловой системы....да еще и для винды...

Если тебя очень интересует размер файла больше 4Гб для ВИНДОВ, use ntfs!


gsu   (2002-12-27 14:12:00) [3]

Насколько я знаю 2^32 - это 4 Гига, т.е всего сколько может быть адресного пространства у процесса при такой разрадности.
ОСы виндовые выдают ~ 2 Гига процессу и 2 себе (dll, ...)
У AMC 100000000000000000 - это намного боле максимально положенного (MAXDWORD или MaxInt) отсюда и ошибка.
Вроде нас так учили (-:|~


KSergey   (2002-12-27 07:42:00) [4]

Извините, а может все же не надо таких массивов, а? Да к тому же не уточнено: 100000000000000000 чего? Элементов? Какого размера? И все же максимально доступной длины или длиной в 100000000000000000? Это разные вещи, на сколько я понимаю...


ION T   (2002-12-27 01:04:00) [5]

> Модж (27.12.02 01:00)
Приведи пример хотя-бы 64 битной распространенной файловой системы....да еще и для винды...


Модж   (2002-12-27 01:00:00) [6]

2 Файлы имеют ограничение 4:)

Ну, это сказки. Для Fat32 - да, но ФАТ32 отнюдь не единая возможная файл. система для виндюков


ION T   (2002-12-27 00:56:00) [7]

> Хуже все операции завязаны на MaxInt
А кто был ламой шо это придумал? Выходит файл может занимать, допустим, -1.5ГБ? Ёлки, а я вот уже новый винчак покупать намылилси;))

> HelloWordAND (27.12.02 00:50)
Два миллиарда значительно меньше его сотни квадриллионов...:)


HelloWordAND   (2002-12-27 00:51:00) [8]

У меня тоже не получилось. Мне тоже стало очень интересно


HelloWordAND   (2002-12-27 00:50:00) [9]

Так че у человека компилятор ругается, если почти нет предела (2Гб). Что то тыт не так.


Донской   (2002-12-26 22:35:00) [10]

Вот... пока вы думали, у меня свободная виртуальная память заканчивается, а приложение выдало "не хватает пямяти"
Ясно.....


Anatoly Podgoretsky   (2002-12-26 22:03:00) [11]

ION T © (26.12.02 21:31)
Хуже все операции завязаны на MaxInt


Anatoly Podgoretsky   (2002-12-26 22:01:00) [12]

TTCustomDelphiMaster © (26.12.02 21:26)
Напрямую, эта технология не завязана на Wintel, так что теоритически там не должно быть этого предела


Morfein   (2002-12-26 21:49:00) [13]

А про четыре никто и не говорит....


ION T   (2002-12-26 21:31:00) [14]

> Anatoly Podgoretsky © (26.12.02 21:20)
Файлы имеют ограничение 4:)

> Morfein © (26.12.02 21:10)
Нда, но вот больше 0xffffffff не получится...те самые 4..


TTCustomDelphiMaster   (2002-12-26 21:26:00) [15]


> Интересно другое, на что я пока не могу сказать одназначно
> - это точкаНЕТ

А как это связано с темой?


Anatoly Podgoretsky   (2002-12-26 21:20:00) [16]

gsu © (26.12.02 20:52)
Если следовать этой точке зрения, то ветку придется отравить в Потрепаться, так как здесь мы обсуждаем программирование в Дельфи.

TTCustomDelphiMaster © (26.12.02 21:14)
Файлы и базы отдельный разговор и файлы имеют теже самые ограничения (2/4)

Интересно другое, на что я пока не могу сказать одназначно - это точкаНЕТ


TTCustomDelphiMaster   (2002-12-26 21:14:00) [17]

Или в файл на винт писать


TTCustomDelphiMaster   (2002-12-26 21:10:00) [18]

тоже 2


Morfein   (2002-12-26 21:10:00) [19]

Длинна массива не ограничена двумя гигабайтами, так как можно получить память в системной области, которая имеет адреса больше 0x80000000... например, создать memory mapped file...


Донской   (2002-12-26 21:04:00) [20]

А как насчет создания динамического массива с помощью :

...
new(p);
p^.prev:=p1;
p1^.next:=p;
p^.next:=nil;
p1:=p;
...

и есть ли ограничени едлины такой цепочки, или тоже 2Гб?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо