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

怎么把网站的标题做的炫酷推广页面

怎么把网站的标题做的炫酷,推广页面,贵州企业网站开发公司,阿里云服务器做网站需要备案二、定长内存池的设计 设计一个定长的内存池,这个内存池的定长在于,当剩余空间使用完毕后,总是开辟相同长度的新空间来使用。我们会使用到一个指针来切割划分大空间为小空间。大空间是内存池向系统申请的内存大小,而小空间是程序…

二、定长内存池的设计

设计一个定长的内存池,这个内存池的定长在于,当剩余空间使用完毕后,总是开辟相同长度的新空间来使用。我们会使用到一个指针来切割划分大空间为小空间。大空间是内存池向系统申请的内存大小,而小空间是程序向该内存池申请的内存大小。由于程序向内存池申请存放空间的类型不同,这个小空间的大小也由需要存放的类型决定大小。

FixedPool1

实际上指针只有一个, _freeList 后面的空间理论上是连起来的, _freeList 在被申请空间后更新,相当于链表的头插头删。

#include <iostream>
#include <vector>
#ifdef _WIN32
#include <Windows.h>
#endif
//从堆上按页申请空间
inline static void* SystemAlloc(size_t page)
{
#ifdef _WIN32void* ptr = VirtualAlloc(0, page << 13, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
#endif
#ifdef __linux__size_t size = page << 13;void* ptr = mmap(nullptr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);#endifif (ptr == nullptr){throw std::bad_alloc();}return ptr;
}template<class T>
class FixedPool
{T* New(){T* object = nullptr;//优先使用还回来的空间if (_freeList){void* next = *((void**)_freeList);object = (T*)_freeList;_freeList = next;}//如果大空间不足if (_restBytes < sizeof(T)){_restBytes = 128 * 1024;	//一次申请128Kb的空间_memory = (char*)SystemAlloc(_restBytes >> 13);	//128Kb右移13位相当于16页if (_memory == nullptr){throw std::bad_alloc();}}//从申请的大空间中截一块出来object = (T*)_memory;size_t objSize = sizeof(T) < sizeof(void*) ? sizeof(void*) : sizeof(T);_memory += objSize;_restBytes -= objSize;//定位new,显示调用T的构造函数new(obj)T;return obj;}void Delete(T* obj){obj->~T();*(void**)obj = _freeList;_freeList = obj;//把空间还回来}
private:char* _memory = nullptr;	//char类型为1字节大小方便申请任意大小的内存size_t _restBytes = 0;	//记录大内存在切分后的剩余比特数void* _freeList = nullptr;
};

*(void**) 的强制类型转换是在兼容 32 位和 64 位,使其不会因为指针大小不同而程序出错,也不用为了兼容 32 位和 64 位使用条件编译。

size_t objSize = sizeof(T) < sizeof(void*) ? sizeof(void*) : sizeof(T); 这行,要求开的空间必须比指针大,因为我们会用归还回来的空间存放,_freeList 来指向下一块空间,如果 T 小于指针的大小,就有可能存不进 _freeList

http://www.dtcms.com/wzjs/54637.html

相关文章:

  • 公司网站首页怎么做做电商必备的几个软件
  • 网页设计和网站设计seo矩阵培训
  • 免费空间做自己的网站站长素材官网免费
  • 哪个网站可以做私单优化提升
  • 江西火电建设公司网站cms建站
  • 东莞热的建设网站新东方留学机构官网
  • 保定企业网站的建设千锋教育培训
  • 个人网站怎么命名软文营销广告案例
  • 如何管理b2c网站域名查询平台
  • 虎门营销型网站建设网站建设对企业品牌价值提升的影响
  • 深圳网站建设响应式百度云网盘资源搜索引擎
  • 电脑做网站服务器改端口动态网站的制作与设计
  • wordpress 试听合肥seo按天收费
  • 做网站容易吗电商运营数据六大指标
  • 苏宁网站开发人员数据分析培训班
  • 局网站建设申请seo 网站排名
  • 网站后台开发 必备技能企业宣传视频
  • 怎么做网站设计程序网页设计代做
  • 陇南建设网站网站运营工作的基本内容
  • 无极任务平台网站进入申请网站怎么申请
  • 做瞹瞹嗳视频网站谷歌seo服务商
  • 迅捷视频剪辑软件沈阳关键词优化费用
  • 做网站1万多块钱在线代理浏览网站免费
  • 晟阳建设官方网站网站如何让百度收录
  • 网站有没有做301seo竞价推广
  • 刚开始做写手上什么网站优化排名推广技术网站
  • 畔游网站建设桌面百度
  • 北京seo公司wyhseo网络优化主要做什么
  • 网站建设天津企业培训课程设置
  • 当当网网站的建设过程阿里指数查询官网入口