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

好的网站特点百事通做网站

好的网站特点,百事通做网站,邢台市天气预报,怎么做网站编程http://blog.csdn.net/caowei840701/article/details/8491836 [cpp] view plaincopy p 关于memcpy和memmove两个c标准库函数#xff0c;其功能都是将一块内存区域中的指定大小内容复制到目标内存中#xff0c;在翻阅c标准库实现的源代码我们发现他们是有区别的。p   关于memcpy和memmove两个c标准库函数其功能都是将一块内存区域中的指定大小内容复制到目标内存中在翻阅c标准库实现的源代码我们发现他们是有区别的。/pp首先看memcpy的实现/pp /p   [cpp] view plain copy void * __cdecl memcpy (           void * dst,           const void * src,           size_t count           )   {           void * ret  dst;      #if defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC)           {           extern void RtlMoveMemory( void *, const void *, size_t count );              RtlMoveMemory( dst, src, count );           }   #else  /* defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC) */           /*           * copy from lower addresses to higher addresses           */           while (count--) {                   *(char *)dst  *(char *)src;                   dst  (char *)dst  1;                   src  (char *)src  1;           }   #endif  /* defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC) */              return(ret);   }   再看memmove的实现 [cpp] view plain copy void * __cdecl memmove (           void * dst,           const void * src,           size_t count           )   {           void * ret  dst;      #if defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC)           {           extern void RtlMoveMemory( void *, const void *, size_t count );              RtlMoveMemory( dst, src, count );           }   #else  /* defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC) */           if (dst  src || (char *)dst  ((char *)src  count)) {                   /*                   * Non-Overlapping Buffers                   * copy from lower addresses to higher addresses                   */                   while (count--) {                           *(char *)dst  *(char *)src;                           dst  (char *)dst  1;                           src  (char *)src  1;                   }           }           else {                   /*                   * Overlapping Buffers                   * copy from higher addresses to lower addresses                   */                   dst  (char *)dst  count - 1;                   src  (char *)src  count - 1;                      while (count--) {                           *(char *)dst  *(char *)src;                           dst  (char *)dst - 1;                           src  (char *)src - 1;                   }           }   #endif  /* defined (_M_MRX000) || defined (_M_ALPHA) || defined (_M_PPC) */              return(ret);   }   仔细分析上面的代码不难看出memcpy只是简单的将两块内存区域当作没有关系的相互独立内存区域进行内存的拷贝而memmove则考虑了当两块内存区域有重叠时所采用不同方向的拷贝模式进行处理。 如上图所示当源内存和目标内存出于第一种情况即两块内存区域相互独立时memcpy和memmove都是可以正确处理的。在第二种情况下两个函数都可以正常的实现内存拷贝。而当两块内存区域处于第三种情况时很明显memcpy的实现存在问题当将源内存块的开始字节拷贝到目标内存时同时也会覆盖源内存块中的尚未拷贝的内存导致从源内存在目标内存地址处开始的内存不能正确的拷贝。
http://wiki.neutronadmin.com/news/178782/

相关文章:

  • 婚介 东莞网站建设苏州园区
  • 海口制作网站软件东莞市建设规划局网站
  • 西安做网站需要多少钱全网推广
  • 做网站时搜索的代码是什么wordpress ssh
  • 沈阳建设厅官方网站wordpress 餐饮主题
  • 招聘网站费用怎么做分录杭州互联网网站公司
  • 网站建设验收合格确认书怎么找网站开发公司
  • 网站建设微信运营销售电商商城网站建设方案
  • 厦门园网站忱建设用别人公司名字做网站违法么
  • 毕业设计报告网站开发做医疗器械网站
  • 网站代备案公司名称网页制作公司报价谈判方案
  • dedecms5.7装饰公司网站模板潍坊 营销型网站建设
  • 怎样上传自己的网站wordpress页面里可不可以写php
  • 哈尔滨营销型网站建设公司青岛网页搜索排名提升
  • 湛江企业网站建设公司购物网站 建站服务
  • 广州网站建设互广广州开发网站设计
  • 公司商城网站开发费做什么科目做配资网站多少钱
  • 网站系统怎么建设在线制作logo模板
  • 如何做cad图纸模板下载网站wordpress栏目列表页
  • 便利的邯郸网站建设网站开发+协作平台
  • 肇庆市住房和城乡建设部网站网站建设地图素材
  • 微网站免费企业网站如何宣传
  • 和田地网站seo个性定制
  • 企业网站的设计策划怎么看网站是否备案成功
  • php 开源的企业网站潍坊昌乐县城乡建设局网站
  • 家具网站开发报告装修网站vr全景图怎么做
  • 英文网站名需要斜体吗动漫制作专业认知报告
  • 为什么公司的网站打不开网站如何申请微信支付接口
  • 网站导航提交入口大全西城做网站
  • 什么网站专做二手名表北京快速网站建设