![]() |
1
1
它的工作原理是使用页面错误,当您尝试读取文件的某个区域时,将分配实际RAM(或重用某些其他页面),并将一定数量的页面数据从文件读取到内存中。
您很难将整个文件加载到ram中
是的,最重要的是,
|
![]() |
2
0
运行mmap()后,我确定内存内容(在GDB调试器中查看)与实际文件内容不匹配的原因是我映射的文件不是ANSI编码的。因此,调试器显示了Linux认为应该显示的正确数据。以ANSI格式保存文件(在textpad中)后,Linux中查看的文件二进制内容与Windows中查看的二进制内容相同。无需更改代码。问题在于正在映射的文件。与其中一条注释相反,GDB调试器能够使用内存查看器在mmap()返回的地址显示所有映射的文件数据-我已经确认了100KB以下的文件。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |