【发布时间】:2010-11-15 03:06:05
【问题描述】:
例如,在 UNIX 上,我可以使用 posix_fadvise(POSIX_FADV_WILLNEED) 告诉操作系统将来需要映射。如果感觉如此,它将预读数据。
如何判断对Windows的访问意图?
【问题讨论】:
标签: winapi unix memory-management portability
例如,在 UNIX 上,我可以使用 posix_fadvise(POSIX_FADV_WILLNEED) 告诉操作系统将来需要映射。如果感觉如此,它将预读数据。
如何判断对Windows的访问意图?
【问题讨论】:
标签: winapi unix memory-management portability
您可以将FILE_FLAG_RANDOM_ACCESS 或FILE_FLAG_SEQUENTIAL_SCAN 传递给 CreateFile()
【讨论】:
实际上,正如 Anders 所建议的那样,Windows 7 及更早版本的内存管理功能中没有这种方法。
有两种不同的方式来做类似的事情:
FILE_FLAG_SEQUENTIAL_SCAN 属性CreateFile 的流式提示打开文件。然后可能会自动完成预读。【讨论】:
从 Windows 8 开始,PrefetchVirtualMemory 函数用于此目的。
【讨论】: