当前位置: 首页 > news >正文

c语言之自定义memcpy

void *Memcpy(void *dest, const void *src, size_t count)  
{  cout<<"sizeof(dest)是:"<<sizeof(dest)<<endl;int bytelen=count/sizeof(dest);	/*按CPU位宽拷贝*/int slice=count%sizeof(dest);	/*剩余的按字节拷贝*/unsigned int* d = (unsigned int*)dest;  unsigned int* s = (unsigned int*)src;  if (((int)dest > ((int)src+count)) || (dest < src))  {  while (bytelen--)  *d++ = *s++;  while (slice--)  *(char *)d++ = *(char *)s++; }  else /* overlap重叠 */  {  d = (unsigned int*)((unsigned int)dest + count - 4); /*指针位置从末端开始,注意偏置 */  s = (unsigned int*)((unsigned int)src + count -4);  while (bytelen --)  *d-- = *s--;  d++;s++;char * d1=(char *)d;char * s1=(char *)s;d1--;s1--;while (slice --)  *(char *)d1-- = *(char *)s1--; }  return dest;  
}  
http://www.zskr.cn/news/10683.html

相关文章:

  • 国产芯片处理板卡:7-基于国产化FT-M6678+JFM7K325T的6U CPCI信号处理卡
  • css-轮播图效果
  • aspnetcore使用websocket实时更新商品信息
  • 漏洞挖掘实战:如何定制化模糊测试技术
  • css-遮罩层效果
  • css-浮动围绕文字效果
  • 基于Python+Vue开发的摄影网上预约管理系统源码+运行步骤
  • css-定位让盒子居中显示
  • 在线教育软件开发的全流程解析与优化方案
  • 浅谈云原生数据库
  • AT_abc201_f [ABC201F] Insertion Sort 题解
  • c语言动态内存分配
  • 2025.9.24——1橙
  • 完整教程:MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
  • Python爬虫实现大乐透历史数据抓取
  • Java实现双色球历史是否中奖查询
  • 别再混淆 PHP8.1 中纤程 Fibers 和协程 Coroutines 了 一文搞懂它们的区别
  • 详细介绍Seata的AT模式分布式事务
  • VMware VeloCloud 漏洞分析:未授权远程代码执行全链条攻破
  • HJ9 提取不重复的整数
  • PRISMS Junior Varsity Training 20250919
  • 为你的数据选择合适的分布:8个实用的概率分布应用场景和选择指南
  • 台风呢
  • 架设moon节点
  • 字符串哈希模板
  • Markdown基本与阿法
  • isEmpty/isNotEmpty/isNotBlank/isBlank-isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank
  • 牛客周赛 Round 110 E,F题解
  • 安装 elasticsearch-9.1.4 - 集群 和 kibana-9.1.4
  • 实测对比:权威榜单之公众号排版Top 5(含效果对比与适用建议)