当前位置: 首页 > 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.hskmm.com/?act=detail&tid=15524

相关文章:

  • 国产芯片处理板卡:7-基于国产化FT-M6678+JFM7K325T的6U CPCI信号处理卡
  • 一文详解纷享销客CRM Agent平台3大核心能力(附应用场景与案例)
  • QOJ #5076. Prof. Pang and Ants 题解
  • 发现5个宝藏文件摆渡系统 2025年企业首选的摆渡方案是这个!
  • 漏洞挖掘实战:如何定制化模糊测试技术
  • nuxt3中使用pdfjs-dist实现pdf转换canvas实现浏览
  • 查看linux部署网站的TLS版本号
  • 【SpringBoot- Spring】学习
  • 基于Python+Vue开发的摄影网上预约管理系统源码+运行步骤
  • 【习题答案】《深入理解计算机系统(原书第三版)》
  • 深入解析:mosquitto求医之路(3):Docker安装也不好使
  • 在K8S中,在服务上线的时候Pod起不来怎么进行排查?
  • 在线教育软件开发的全流程解析与优化方案
  • 在K8S中,⼀个pod的不同container能够分开被调动到不同的节点上吗?
  • 在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
  • 上海应用大学网课自动化学习脚本(基于Python selenium)代码重构为GUI界面 —— 技术笔记
  • 在K8S中,Deployment⽀持扩容吗?它与HPA有什么区别?
  • 开源语音识别FunASR入门详解
  • AT_abc201_f [ABC201F] Insertion Sort 题解
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • c语言动态内存分配
  • 2025.9.24——1橙
  • AT_arc172_d [ARC172D] Distance Ranking
  • Python爬虫实现大乐透历史数据抓取
  • 【读书笔记】《深入理解计算机系统(原书第三版)》第一章 计算机系统漫游
  • 如何将PPT每一页批量导出为高清JPG图片?一文讲清处理流程
  • 实用指南:计算机视觉:基于YOLOv11 实例分割与OpenCV 在 Java 中的实现图像实例分割
  • Java实现双色球历史是否中奖查询
  • ABC424 游记(VP)
  • Java实现大乐透历史是否中奖查询