<分区>
假设有一个大文件。 mmap
函数无法完全处理它。但是我们需要尽可能多地阅读这个文件。
我发现 Unix 中的这个命令允许我们找到 mmap
大小:
sysctl vm.max_map_count
输出为:vm.max_map_count = 65530
。
但是,它在C 程序中不起作用。如何在C程序中找到map函数的大小?
<分区>
假设有一个大文件。 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/