临时数据

来源:互联网 发布:万方医药数据信息平台 编辑:程序博客网 时间:2024/06/05 05:13
void *memcpy(void *dst, const void *src, size_t len)  
{  
    if(NULL == dst || NULL == src){  
        return NULL;  
    }  
      
    void *ret = dst;  
      
    if(dst <= src || (char *)dst >= (char *)src + len){  
        //没有内存重叠,从低地址开始复制  
        while(len--){  
            *(char *)dst = *(char *)src;  
            dst = (char *)dst + 1;  
            src = (char *)src + 1;  
        }  
    }else{  
        //有内存重叠,从高地址开始复制  
        src = (char *)src + len - 1;  
        dst = (char *)dst + len - 1;  
        while(len--){  
            *(char *)dst = *(char *)src;  
            dst = (char *)dst - 1;  
            src = (char *)src - 1;  
        }  
    }  
    return ret;  

}

void *memcpy(void *s1, const void *s2, size_t n)
{
    char *p1 = s1;
    const char *p2 = s2;
 
    if (n) {
        n++;
        while (--n > 0) {
            *p1++ = *p2++;
        }
    }
    return s1;
}

inline void ring_memcpy(void *dst, const void *src, size_t len)
{
char *p1 = (char *)dst;
char *p2 = (char *)src;
len += 1;
while (--len)/* len--比--len效率低 */
{
*p1++ = *p2++;
}
}

start devmgmt.msc

start appwiz.cpl

http://bbs.armfly.com/read.php?tid=4344&fpage=6

原创粉丝点击