社区
C++ 语言
帖子详情
[stl][二级空间配置器][_S_chunk_alloc申请内存何时释放?]
罗小城
2016-12-20 08:50:26
最近在看stl内存配置器,有个问题比较困扰,当申请内存小于128字节时,通过函数_S_chunk_alloc调用malloc分配内存,不再使用时,归还freelist管理,那么这些动态申请的内存何时free?如果一直不释放的话,是不是就造成内存泄露了?
...全文
130
3
打赏
收藏
[stl][二级空间配置器][_S_chunk_alloc申请内存何时释放?]
最近在看stl内存配置器,有个问题比较困扰,当申请内存小于128字节时,通过函数_S_chunk_alloc调用malloc分配内存,不再使用时,归还freelist管理,那么这些动态申请的内存何时free?如果一直不释放的话,是不是就造成内存泄露了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mLee79
2016-12-20
打赏
举报
回复
程序都结束了, 还有啥好free的.
罗小城
2016-12-20
打赏
举报
回复
引用 1 楼 paschen 的回复:
这样分配小对象时效率可以比较高,那一点内存占用的又不多,程序结束时会释放掉
动态申请的内存,应该要free的吧?程序结束时谁去释放,哪里释放了?
paschen
版主
2016-12-20
打赏
举报
回复
这样分配小对象时效率可以比较高,那一点内存占用的又不多,程序结束时会释放掉
SGI
STL
第
二级
空间
配置
器
__default_
alloc
_template的
chunk
_
alloc
函数
SGI
STL
默认使用
二级
空间
配置
器
,当需要
配置
的区块大于128 bytes时SGI
STL
调用一级
空间
配置
器
,一级
空间
配置
器
的
alloc
ate函数直接使用m
alloc
分配
内存
,de
alloc
ate函数直接使用free
释放
内存
。当需要
配置
的区块小于128 ...
494-SGI
STL
二级
空间
配置
器
(_S_
chunk
_
alloc
函数和
内存
池总结)
接下来我们看_S_
chunk
_
alloc
函数对具体
内存
块的分配 nobjs都是20,这是写固定的数字。然后还传入我们
申请
的字节数。 也就是
chunk
的个数和
chunk
的大小 _S_
chunk
_
alloc
函数 正常流程的
内存
分配 我们一步一步来解析...
剖析SGI
STL
空间
配置
器
(核心设计:_S_
chunk
_
alloc
函数)
SGI
STL
二级
空间
配置
器
核心设计:_S_
chunk
_
alloc
SGI 第
二级
配置
器
__default_
alloc
_template核心
内存
分配函数
chunk
_
alloc
解析
其实题目有些哗众取宠,主要想表达的...SGI的
内存
配置
器
分成两层:第一层直接调用m
alloc
,第二层是自己做了一个
内存
池来分配。下面说下第二层
配置
器
的思路: 第二层
配置
器
首先设置了一个free_list[16]的数组,数组...
C++-----SGI
STL
空间
配置
器
(二)
二级
空间
配置
器
__default_
alloc
_template
考虑到小型区块所可能造成的
内存
碎片问题,SGI设计了双层级
配置
器
,第一级
配置
器
参见博文https://blog.csdn.net/FDk_LCL/article/det ails/89457601。在这里我们讲重点介绍第
二级
空间
配置
器
。 第
二级
空间
配置
器
多...
C++ 语言
64,683
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章