【发布时间】:2016-11-21 19:08:13
【问题描述】:
如何使用 mmap 在虚拟 ramdisk 中保留内存?假设我愿意:
mkdir /mnt/ramdisk
mount -t tmpfs -o size=10m tmpfs /mnt/ramdisk
我现在有一个虚拟 ramdisk,但如何在我的 C 程序中映射到它?
int main() {
// ....
addr = mmap(/* ramdisk address? */, size, PROT_READ_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
【问题讨论】:
-
如果您使用的是 RAMdisk,那么使用
mmap只会调用开销。为什么不使用fopen? -
@Dai 我正在使用 mmap 作为为我的库保留内存区域的一种方式,但我不确定如果我想在其中保留这个内存,我将如何去做这样的事情一个 ramdisk 而不是为 mmap 提供
NULL的值作为地址提示