c - c中的mmap函数可接受的数据的最大大小是多少?

标签 c linux unix memory-management mmap

<分区>

假设有一个大文件。 mmap 函数无法完全处理它。但是我们需要尽可能多地阅读这个文件。

我发现 Unix 中的这个命令允许我们找到 mmap 大小:

sysctl vm.max_map_count

输出为:vm.max_map_count = 65530

但是,它在C 程序中不起作用。如何在C程序中找到map函数的大小?

最佳答案

mmapping 的大小没有限制(size_t 中的位除外),因为内核永远不需要一次将整个内容加载到内存中。 mmap() 是读取大于内存的文件的首选方法:只需映射文件,让内核操心其余的...

关于c - c中的mmap函数可接受的数据的最大大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55391691/

相关文章:

c - 避免需要初始化数组的技巧

c# - 将结构内的整数指针编码为回调

c - UDP客户端连接过程正确,Unix环境下传输失败

linux - MAC OS X 别名文件夹/文件不会在 Windows 上保留

c - 在c中父子进程之间发送信号

c - 一个计算字符串中有多少个不同字符的函数

c - 在C中定义一个函数以从用户处获取二维矩阵的元素

linux - Xboxdrv "windows/super" key EV_KEY 名称

linux - waitpid - 第一个参数 pid=-1 和 pid=0 之间的区别

Linux/unix 重名