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

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

Как скопировать кусок памяти?


Ega23 ©   (2005-07-26 10:21:00) 

Есть динамический массив (создан самостоятельно через GetMem, а не array of), есть указатель на нулевой элемент. Известен SizeOF элемента, известен ItemCount.
Можно ли создать копию этого массива без перебора элементов?


begin...end   (2005-07-26 14:02:00) [1]

> Eraser ©   (26.07.05 10:47) [3]
> jack128 ©   (26.07.05 11:47) [5]

Если речь идёт о сравнении функции Windows.CopyMemory и System.Move, то быстрее -- Move.


Ega23   (2005-07-26 11:49:00) [2]

2 jack128 ©   (26.07.05 11:47) [5]

Ага. Да я, блин, как последний двоечник лоханулся: помню про CopyMemory, вызвал Help, набираю - и ничего не вижу. Блин, думаю, чё такое? Может MemCopy? Этого тоже не вижу. Просто Copy не подходит.
В общем, забыл, что справка по SDK отдельно идёт...


jack128   (2005-07-26 11:47:00) [3]

Eraser ©   (26.07.05 10:47) [3]
Интересно, а какая быстрее?

Без тестирования я бы сказал, что CopyMemory, потому что она не делает проверок на пересечение копириемых участков памяти. Ега - учти этот момент.


Ega23   (2005-07-26 10:48:00) [4]

Можно конечно, через CopyMemory.

Тьфу ты, чёрт. Она же в Windos SDK Help'е... А я в стандартном искал...
Спасибо, вопрос снят.


Eraser   (2005-07-26 10:47:00) [5]

Fay ©   (26.07.05 10:44) [2]

Интересно, а какая быстрее?


Fay   (2005-07-26 10:44:00) [6]

2 Eraser ©   (26.07.05 10:28) [1]
Move


Eraser   (2005-07-26 10:28:00) [7]

Ega23 ©   (26.07.05 10:21)

Можно конечно, через CopyMemory.


Наверх

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