![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не устраивает ReallocMem
Ruzzz © (2007-12-10 23:40:00)в хелпе написано:
if P is not nil and Size is not zero, ReallocMem reallocates the block referenced by P to the size given by Size. Existing data in the block is not affected by the reallocation, but if the block is made larger, the contents of the newly allocated portion of the block are undefined. If the block cannot be reallocated in place, it is moved to a new location in the heap, and P is updated accordingly.
Меня не устраивает этот MOVE! :)
Подскажите позжлста, есть ли какие-либо способы "бегать" Pointer'ом по "куску" памяти, который при этом сосотоит из частей? Т.е. я хочу вместо перераспределения памяти в случае не хватки, выделить еще и как-то это учитывать.
Может есть что-то подобное, например токой себе менеджер памяти :), обращаясь к памяти смотреть а не награнице ли мы части, если да то перепрыгиваем. Или это все "плохо"?
Мне нужен простой список строк, делитель #0, строки только добавляются, список не будет редактироваться, нужно очень быстро его составить, при этом в последствии нужно будет быстро по нему пробежаться (например также как и в SysUtils.StrEnd) и все, но изначально его длина не известна, она может быть как малой так и очень большой и поэтому заранее выделять много вроде как нельзя но и частое перераспределение(move) хочется обойти, но как же потом проходить по строкам если это будет не сплошной участок памяти?
Заранее спасибо!
Ruzzz (2007-12-10 23:57:00) [41]в list нужно каждый раз new делать, как это отразится на моей оптимизации по скорости?
подскажите где почитать об Memory maneger в делфи. как быстро работает new? да, и если я буду использовать KOL? хотелось бы максимально не зависить от Memory maneger. например как можна меньше вызывать allocmem, и конечно же без reallocmem.
@!!ex (2007-12-10 23:44:00) [42]Бегать поинтером по памяти из кусков нельзя.
List(списки) тебе в руки, они решают такую проблему.