информационная безопасность
без паники и всерьез
 подробно о проекте
Атака на InternetПортрет посетителяЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 PHP2Shell начали эксплуатировать... 
 Четыре уязвимости Plex объединяют... 
 Вредоносный релиз LiteLLM 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
функция memcpy 14.10.01 19:41  Число просмотров: 1066
Автор: 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