Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Быстрое копирование блоков памяти   Найти похожие ветки 

 
User   (2003-05-22 12:43) [0]

Может кто подскажет быструю функцию копирования
маленького блока памяти из большого.

Примерно так:

Copy(Source : PChar; Dest: PChar; index: integer; Count: integer);

Стандартная Copy вызывает _LStrCopy из system.pas, а она достаточно медленно работает.


 
MBo ©   (2003-05-22 12:43) [1]

Move


 
User   (2003-05-22 12:48) [2]

Мне нужно не полностью копировать, а только определенную чать - то есть задавая начальное смещение index и размер блока Count.


 
Palladin ©   (2003-05-22 12:52) [3]


> User (22.05.03 12:48)

даже как то не находится что в ответ то сказать


 
MBo ©   (2003-05-22 12:52) [4]

Хелпов, значит, не читаем...


 
Anatoly Podgoretsky ©   (2003-05-22 13:01) [5]

MBo © (22.05.03 12:52)
Хелпы ладно, так и ответов не читаем.


 
User   (2003-05-22 13:09) [6]

Все понял... Спасибо :) Пока на код Move не посмотрел непонятно было.

var
Source : PChar;
Dest : PChar;
...
Move(Source[Index], Dest^, Count);
...



 
clickmaker ©   (2003-05-22 13:11) [7]

CopyMemory
Быстрее только ассемблер в нужном месте кода...


 
Anatoly Podgoretsky ©   (2003-05-22 13:19) [8]

clickmaker © (22.05.03 13:11)
Не быстрее, возможно удастся съэкономить несколько наносекунд на передаче параметров.


 
User   (2003-05-22 14:32) [9]

Проверил Copy медленнее Move на несколько порядков...
Теперь горячая точка FillChar но это уже другая проблема :)


 
panov ©   (2003-05-22 15:10) [10]

>User (22.05.03 14:32)
ZeroMemory для инициализации.



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
4-3214
Axis_of_Evil
2003-04-02 10:10
2003.06.02
GetWindowInfo?


1-2879
DeadMeat
2003-05-20 17:07
2003.06.02
TSpeedButton


14-3131
RIMMER
2003-05-14 23:40
2003.06.02
Следим за Winamp


9-2731
Джастер
2002-12-18 18:46
2003.06.02
glParticles.pas


4-3223
UNIVERSAL
2003-04-04 19:40
2003.06.02
Как сделать окно поверх всех окон данного приложения