
malloc内存分配
请问:采用预先分配一块大内存,在需要新的小内存就从其中获取。等全部使用完毕,再释放。如何用C代码实现。在需要频繁使用多个较少的临时内存空间时,常常需要预先分配一块大内存,...
请问:采用预先分配一块大内存,在需要新的小内存就从其中获取。等全部使用完毕,再释放。如何用C代码实现。
在需要频繁使用多个较少的临时内存空间时,常常需要预先分配一块大内存,在需要新的小的内存时就从预先分配的大内存获取,等全部使用完毕后再一次性释放,避免频繁的分配和释放内存,同时减少内存碎片,请根据以上描述,写出该算法 展开
在需要频繁使用多个较少的临时内存空间时,常常需要预先分配一块大内存,在需要新的小的内存时就从预先分配的大内存获取,等全部使用完毕后再一次性释放,避免频繁的分配和释放内存,同时减少内存碎片,请根据以上描述,写出该算法 展开
展开全部
先用malloc分配一段内存,其它要用的时候直接指向这一段中未被使用的部分,用完用memset()把那一段初始化一下,最后再一起释放

2023-06-03 广告
这是一张ISO12233:2000标准的分辨率测试卡,目前已被ISO12233:2014 eSFR分辨率测试卡所取代,但是目前使用ISO12233:2000标准的分辨率测试卡还是比较多。 类型 反射式:由前面照明的反射式测试标板 透射式:可...
点击进入详情页
本回答由赛麦吉提供
展开全部
首先,我也很菜。
其次,看了你的描述,你确信可以这样做吗?因为malloc是一个库函数,这个函数的功能,是通过内部调用了VirtualAlloc完成的,并且分配的内存不能共享。
所以我不确定用malloc是不是可以。
要么你试试GlobalAlloc,这个函数返回一个句柄,通过这个句柄,两个进程可以共享一块内存。用完了,使用GlobalFree释放一下。
其次,看了你的描述,你确信可以这样做吗?因为malloc是一个库函数,这个函数的功能,是通过内部调用了VirtualAlloc完成的,并且分配的内存不能共享。
所以我不确定用malloc是不是可以。
要么你试试GlobalAlloc,这个函数返回一个句柄,通过这个句柄,两个进程可以共享一块内存。用完了,使用GlobalFree释放一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
真正要实现这个功能,实际上并不简单,但有时也很有必要,如游戏的内存管理规则。你说的这个功能实际上时内存池,你可以搜索一些关于这类方面的知识。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询