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

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

Максимальный размер tStringList [WinXP]


Страницы:   1 2

Евгений Р. ©   (2007-11-22 00:07:00) 

В Д5, кажется было ограничение 16000, кажется читал,что в Д2005 это ограничение снято. Это точно???


Германн   (2007-11-24 20:53:00) [1]


> Где вы такие модули памяти видели?

Я не видел. Но я о них читал. У Азимова.
:-)


KilkennyCat   (2007-11-24 20:33:00) [2]


> Anatoly Podgoretsky
> Германн

Где вы такие модули памяти видели? Помнится, я выковыривал ящичек озу из "Мир-2", так и он был от силы полметра на полметра и высотой сантиметров тридцать.... а учитывая, что стринглист сожрет не все, размер его будет еще меньше. Но будет!


Германн   (2007-11-24 20:30:00) [3]


> Anatoly Podgoretsky ©   (24.11.07 20:21) [30]

7 на 8


Anatoly Podgoretsky   (2007-11-24 20:21:00) [4]

> KilkennyCat  (24.11.2007 20:17:29)  [29]

Хочешь сказать 3 на 2 метра, или длиной 12 метров?


KilkennyCat   (2007-11-24 20:17:00) [5]


> Anatoly Podgoretsky ©   (23.11.07 11:16) [28]

могу доказать что у TStringlist есть размер. Вот только определение размера сложновато: зависит от типа процессора, озу и проч.


Anatoly Podgoretsky   (2007-11-23 11:16:00) [6]

> Сергей М.  (23.11.2007 10:52:27)  [27]

И не может коррелироваться, у tStringList нет размера, не визуальный, а есть только емкость, поскольку контейнер.


Сергей М.   (2007-11-23 10:52:00) [7]


> Евгений Р.   (22.11.07 18:08) [22]


"максимальное число элементов" никак не кореллирует с "Максимальный размер tStringList"


Евгений Р.   (2007-11-22 20:48:00) [8]

Вспоминаем Паскаль, DOS.
1.Объем памяти 640К (до 1 МБ). Называлось "куча"
2.Сегмент данных 64К. Отъедается из кучи.
3.Стек до 64К. Отъедается из кучи.
4.+код+пямять для ДОС...
5.Остается немного.
6.Создаем коллекцию. Из сегмента данных (стека если из процедуры) отъелось несколько байт.
7.Коллекция пустая. Сколько отъелось из скудной кучи? Нисколько или 64К?


Anatoly Podgoretsky   (2007-11-22 20:34:00) [9]

> Евгений Р.  (22.11.2007 20:25:24)  [24]

Список содержит список указателей, из любых сегментов, но сам список не может пересекать границу сегмента.


Евгений Р.   (2007-11-22 20:25:00) [10]


> Anatoly Podgoretsky ©   (22.11.07 18:57) [23]

Я думал, что память под указатели выделяется динамически, по мере заполнения коллекции, а не сразу по экстенту (тогда это называли сегментом). Неразумно тогда было так расбрасываться памятью.


Anatoly Podgoretsky   (2007-11-22 18:57:00) [11]

> Евгений Р.  (22.11.2007 18:08:22)  [22]

Кроме count есть еще и понятие экстент, в 16 разрядном режиме он равен 64 кб, значит в экстент не может поместиться более 16K длинных указателей.


Евгений Р.   (2007-11-22 18:08:00) [12]


> Сергей М. ©   (22.11.07 15:53) [12]
> > Паскаль- Integer 2х-байтовое
> Какое отношение это имеет к
> > размер tStringList


tStringList.count:integer.

Поэтому в вышеописанном случае максимальное число элементов - 32к.


DiamondShark   (2007-11-22 17:53:00) [13]


> Может еще в Паскале, когда Integer было 32х-разрядное. Но
> почемуто не 64К, а 64К/4. Хотя какая разница, что тогда
> было....

Эх, молодёжь...

В Паскале (до дельфи-2) Integer никогда не было 32х-разрядное, а когда оно такое стало, ограничения на tStringList уже не стало.
64К -- это было ограничение на непрерывный блок памяти в DOS и Win16 (потому что один сегмент), а 64К/4 -- потому что tStringList содержит массив указателей, а размер указателя -- 4 байта.


Сергей М.   (2007-11-22 16:58:00) [14]


> масленица   (22.11.07 16:47) [18]


Ты , во-первых, на "тыхто" не ответил)

А во-вторых, "Максимальный размер tStringList"=SizeOf(tStringList)

Ку?)


Сергей М.   (2007-11-22 16:52:00) [15]


> масленица   (22.11.07 16:47) [18]


Хню спросил - хню получи)


масленица   (2007-11-22 16:47:00) [16]

Не совсем понял я тогда смысл слова "оной" - это синоним двойного размера 2х-байтовых целых? Мдя. Ладно, пусть по вашему, мастеры


Johnmen   (2007-11-22 16:37:00) [17]


> масленица   (22.11.07 16:35) [16]

Читать внимательно!

>> Паскаль- Integer 2х-байтовое
> Оной в твоем случае всегда будет равен 4.


ку?


масленица   (2007-11-22 16:35:00) [18]

;) Размер указателя? Или tStringList, вроде-ж речь об экземпляре класса. Или 4 - это максимальное число строк в WinXP? Раз два.. раз два...;)
"С чего-бы" - в том же стиле, что и "Оной в твоем случае всегда будет равен 4."


Kolan   (2007-11-22 16:10:00) [19]

> А ты собссно хто ?)

Придет масленница, заберет масло… Ты пока на коне 1 2 3 4, он бего раз два, раз два …


Сергей М.   (2007-11-22 16:09:00) [20]


> С чего бы?


С того что WinXP.

А ты собссно хто ?)


Страницы:   1 2

Наверх

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