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

做网站需要注意网站如何建设移动端

做网站需要注意,网站如何建设移动端,app应用网站单页模板,临川区建设局网站SGI 特殊的空间配置器 std::alloc 一般而言#xff0c;我们习惯的C内存配置操作和释放操作是这样的 class Foo{…..} Foo* pf new Foo; delete pf; new包含两阶段操作 #xff08;1#xff09;调用 ::operator new 配置内存 #xff08;2#xff09;调用 Foo::Foo() …SGI 特殊的空间配置器 std::alloc 一般而言我们习惯的C内存配置操作和释放操作是这样的 class Foo{…..} Foo* pf new Foo; delete pf;     new包含两阶段操作 1调用 ::operator new 配置内存 2调用 Foo::Foo() 构造对象内容。 delete也包含两阶段操作 1调用 Foo::~Foo() 将对象析构 2调用::operator delete 释放内存。    SGImemory 内含以下两个文件 #includestl_alloc.h //负责内存空间的配置与释放 #includestl_construct.h //负责对象内容的构造与析构    构造和析构基本工具 construct() 和 destroy() destroy有两个版本第一版本接受一个指针直接调用该对象的析构函数。 第二版本接收 frist 和 last 两个迭代器 将 [frist, last)范围内的所有对象析构掉。 首先利用 value_type () 获得迭代器所指对象的型别 再利用 _type_traitsT 判断该型别支持的析构函数是否是无关痛痒trivial destructor 若是则什么也不做就结束若不是以循环寻访整个范围并在循环中每经历一个对象就调用第一个版本的destroy。    空间的配置与释放 std::alloc    对象构造前的空间配置和对象析构后的空间释放由stl_alloc.h负责 1向system heap 要求空间 2考虑多线程状态 3考虑内存不足时的应变措施 4考虑过多小型区块可能造成的内存碎片问题。    考虑到小型区块所可能造成的内存破碎问题SGI设计了双层级配置器。第一级配置器直接使用malloc() 和free(), 第二级配置器则视情况采用不同的策略当配置区块超过 128bytes 时视之为足够大便调用第一级配置器当小于128bytes时视之为过小为了降低额外的负担采用复杂的 memory pool整理方式。          第一级配置器 __malloc_alloc_template SGI 第一级配置器的 allocate() 和 realloc()都是在调用 malloc() 和 realloc() 不成功之后改调用 oom_malloc() 和 oom_realloc() 两者都有内循环不断调用内存不足处理例程期望在某次调用后获得足够的内存而圆满完成任务但如果内存不足处理例程未被客户端设定便会抛出异常。    第二级配置器 __default_alloc_template 第二级配置器多了一些机制避免太多小额区块造成内存的碎片。小额区块带来的不仅仅是内存碎片的问题配置时的额外负担也是很大的问题。系统要靠这多出来的空间来管理内存。区块愈小额外负担所占比例就越大就越浪费。    SGI第二级配置器的做法是如果区块够大超过128bytes时就移交第一级配置器当小于128bytes时则以内存池memory pool管理此法又称次层配置 每次配置一大块内存并维护之自由链表下次若再有相同大小的内存需求就直接从free-lists中拔出如果客户端释还小额区块就由配置器回收到free-lists中。 为了方便管理SGI第二级配置器会主动将任何小额区块的内存需求量上调至8的倍数并维护16个 free-lists各自管理大小为816243240566472808896104112120128bytes    空间配置函数allocate() 空间释放函数deallocate() 重新填充 free lists 当它发现free lists中没有可用的区块时就调用refill()准备为free list 重新填充空间。新的空间将取自内存池。    内存基本处理工具    uninitialized_copy() uninitialized_copy()使我们能够将内存的配置与对象的构造行为分离开来。 如果作为输出目的地[result result last - frist 范围内每一个迭代器都指向未初始化区域 则 uninitiated_copy() 会使用 copy consturctor 给身为输入来源之[frist, last] 范围内的每一对象产生一份复制品放进输出范围中。          Uninitialized_fill()       Uninitialized_fill_n()    Uninitialized_fill_n()能够使我们将内存配置与对象构造行为分离开来它会为指定范围内的所有元素设定相同初值       接受三个参数 1迭代器指向与初始化空间的起始处 2n 表示欲初始化空间的大小 3x 表示初值    首先萃取出迭代器Frist 的型别再判断是否是POD型别 POD指plain old data 标量型别       转载于:https://www.cnblogs.com/h3mmm/p/9821093.html
http://www.pierceye.com/news/138601/

相关文章:

  • 网站做关键词库的作用trellis wordpress
  • 建设一个网站需要哪些硬件设备关键词查询爱站网
  • 17网站一起做网店普宁个人网站备案名称填写的注意事项
  • 好的专业网站建设公司asp300源码
  • 问卷调查网站赚钱一流的盐城网站建设
  • 前端网站推荐常德农科院网站
  • 域名注册网站建设方案网站建设一般多少钱
  • 宁波网站推广找哪家重庆市建设工程信息网官网怎么查看
  • 大创意网站wordpress影视主题
  • 简约 网站模板电商网站推广方法
  • 做网站一月工资深圳建站推广公司
  • 免费建设商城网站网络商城应该如何推广
  • 做美食直播哪个网站最好html5期末大作业个人网站制作
  • 做网站和seo流程网址升级中
  • 自己做众筹网站怎样做才能发布你的网站
  • 陕西省建设厅网站查询恶意点击软件有哪些
  • 天河高端网站建设云南建设工程招投标信息网
  • iis 网站制作凡科互动小游戏怎么刷高分
  • 接网站开发项目如何做网站背景
  • 重庆奉节网站建设定制vx怎么弄
  • 烟台建网站公司哪家好辽源做网站的公司
  • 建设企业网站地址网站空间 虚拟主机
  • h5网站模板免费下载网页源码提取工具
  • 网站设计和网页设计建网站必备软件
  • 中国建设银行上海市分行网站音乐网站开发可行性分析
  • 如何用天地图做网站做面包有哪些网站知乎
  • 买了域名之后怎么建设网站做网站一年赚一千万
  • 跟网站开发公司签合同主要要点个人网站logo需要备案吗
  • 免费询盘网站自我介绍ppt模板
  • 中国会议营销网站怎么做找优惠券的网站