![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скопировать кусок памяти?
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.