Linux/GCC中mmap()和memalign()的组合
Combination of mmap() and memalign() in Linux/GCC?
我需要在C++程序中分配一些内存块,这有两个要求。首先,分配的地址需要与块大小对齐,其次,它需要分配在4GB虚拟地址空间以下。
memalign()
帮助我满足第一个需求,mmap()
帮助我满足第二个需求,因为我可以将MAP_32BIT
标志作为参数传递。但是,有可能以某种方式将两者结合在一个简单的解决方案中吗?(从技术上讲,我当然可以将mmap()
与我想要的任何地址一起使用,但解决方案可能不太便携)。
只需对一个(先四舍五入到的次幂)是所需大小两倍的块进行mmap,然后对不需要的块进行munmap。
相关文章:
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 可组合的lambda/std::函数与std::可选
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 混合组合和继承的C++问题
- 我需要将多个函数组合为一个函数
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 通过组合不同的类型来创建唯一的id
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 模板元编程:如何将参数包组合成新的参数包
- 检查向量是否具有所有可能的字符组合
- 如何在加密++中将两个源组合成新的源
- 根中的组合
- 更改 C++ 中的组合分类变量
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- 组合字符串不适用于 libCurl,C++
- 测试两个类型列表中的所有组合
- 将多个 for 循环组合成单个迭代器
- 如何从组合指数中找到仓位
- 防止组合框被关闭
- Linux/GCC中mmap()和memalign()的组合