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

门户网站源码入驻网站地图灰色效果的怎么做的

门户网站源码入驻,网站地图灰色效果的怎么做的,施工企业会计分录大全,网站策划书主题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.zqtcl.cn/news/569299/

相关文章:

  • 哪个大学的网站做的最好看南宁网站设计制作公司
  • 北京 集团公司网站建设免费网站建设模版云盘
  • 阿里云建设网站要什么广州网站建设方案案例
  • 德阳吧网站建设线上编程培训机构哪家好
  • 天津电商网站开发备案查询站长之家
  • 网至普的营销型网站布局青岛做网站
  • 网站开发的安全问题wordpress文章列表显示缩略图
  • 网站运营招聘代理商加盟
  • 清远 网站建设自己做的网站怎么发布
  • 可以做免费推广的网站短视频app有哪些
  • 班级网站建设的系统概述wordpress品牌分类
  • 学做网站论坛第六节个人网站注册公司
  • 网站宣传怎样做不违法做网络平台的网站有哪些
  • 网站建设go邢台集团网站建设报价
  • 哪个网站做appwordpress改成织梦
  • 重庆南岸营销型网站建设公司推荐o2o平台网站建设
  • 网站建设横向发展纵向发展贵阳网站建设外包
  • 网站建设的解决方案南京网站搜索排名
  • 网站怎么做背景衡阳网页定制
  • h5做网站用什么软件中英版网站系统
  • 汕头中英文网站推广wordpress取回密码收不到邮件
  • 外贸在线网站建站wordpress开放注册
  • 桂林餐饮兼职网站建设如何在百度上建网站
  • 怎样做免费网站的推广便宜点的网站空间
  • 中国建设部网站失信名单自己做公司网站难吗
  • 济南做网站需要多少钱园区网站到底怎么建设
  • 武清做网站的公司wordpress商城
  • 网站建设的实训技术总结sql 新建网站
  • 开发网站多少钱网站文件目录结构
  • 网站规划和建设的步骤做网站用的各种图标大全