memcpy.c
来自「c库的部分源代码 用惯了操作系统提供的内存api,你是否了解系统的运行机制,这是」· C语言 代码 · 共 36 行
C
36 行
/***********************************************************************\
* Copyright 1990 Software Development Systems, Inc. *
* all rights reserved *
\***********************************************************************/
#include <string.h>
#define SRCL ((unsigned long*)src)
#define DSTL ((unsigned long*)dst)
#define ENDL ((unsigned long*)end)
void *memcpy ( s1, s2, n )
void *s1;
const void *s2;
size_t n;
{
register unsigned char *src = (unsigned char *)s2;
register unsigned char *dst = (unsigned char *)s1;
register unsigned char *end = src;
end += n;
#if !_TARG_Z80 && !_TARG_HD64180
if ( n >= 16 && !(((unsigned long)dst|(unsigned long)src)&3) )
{
n &= sizeof( unsigned long ) - 1 ;
end -= n;
while ( SRCL < ENDL ) *DSTL++ = *SRCL++;
end += n;
}
#endif
while ( src < end ) *dst++ = *src++;
return s1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?