首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问:将内存划分成指定大小的块,标准 c 中有没有这样的函数

2012-04-15 
请教:将内存划分成指定大小的块,标准 c 中有没有这样的函数?我用shmget获取一段共享内存,现在需要把这段空

请教:将内存划分成指定大小的块,标准 c 中有没有这样的函数?
我用shmget获取一段共享内存,现在需要把这段空间分成指定大小的块,在 标准 c 函数中,有没有可以完成这种需求的函数?

如果是手工划分,我想就只有先遍历这段内存,再按指定的块大小(如8k)逐一取内存地址,存到一个链表中。不知这种思路是否可行,哪位达人有更好办法请指教。

[解决办法]
标准库函数中没有提供这样的函数
[解决办法]
shmget就不是标准的,所以可以考虑与之相关的一系列函数进行管理和处理,如shmat()等
[解决办法]
我感觉你每隔8k放一个指针,不就分割了么?
[解决办法]
你的方法应该可以吧,我觉得。但好像不用遍历啊,只要有起始地址可以了
我也不是经常使用XSI IPC,总感觉不方便
[解决办法]
需要自己制定字节数了,
[解决办法]
你可以用malloc简单模拟这种功能,或者你可以调用Virtualxxx来保留和提交内存。
[解决办法]
没有这样的函数,你可以自己分配块,用链表链起来,stl的list就是这样的。
[解决办法]
回帖是一种美德

热点排行