информационная безопасность
без паники и всерьез
 подробно о проекте
Где водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
функция memcpy 14.10.01 19:41  Число просмотров: 1000
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> если не сложно объясните что выполняет функция memcpy
> спасибо

void * __cdecl memcpy (
void * dst,
const void * src,
size_t count
)

Хехе вероятно копирует кусок памяти из src, в dst, размером в count. Работает просто погано по крайней мере в VC, лучше пользовать MOVSB, MOVSW, и что-то там еще для DWORD то-ли MOVSD то-ли MOVSDW хз

Вот например такой ф-цией.
void *memcpy(void *dst, const void *src, unsigned long len)
{
void *ret=dst;
_asm{
push esi
push edi
cld
mov edi,dst
mov esi,src
mov ecx,len
rep movsb
pop edi
pop esi
}
return(ret);
}

Лучше ессно копировать DWORDами но ф-ция малость усложниться.
<programming>
функция memcpy 14.10.01 18:29  
Автор: ret Статус: Незарегистрированный пользователь
<"чистая" ссылка>
если не сложно объясните что выполняет функция memcpy
спасибо
функция memcpy 14.10.01 19:41  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> если не сложно объясните что выполняет функция memcpy
> спасибо

void * __cdecl memcpy (
void * dst,
const void * src,
size_t count
)

Хехе вероятно копирует кусок памяти из src, в dst, размером в count. Работает просто погано по крайней мере в VC, лучше пользовать MOVSB, MOVSW, и что-то там еще для DWORD то-ли MOVSD то-ли MOVSDW хз

Вот например такой ф-цией.
void *memcpy(void *dst, const void *src, unsigned long len)
{
void *ret=dst;
_asm{
push esi
push edi
cld
mov edi,dst
mov esi,src
mov ecx,len
rep movsb
pop edi
pop esi
}
return(ret);
}

Лучше ессно копировать DWORDами но ф-ция малость усложниться.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach