windows下如何清理系统文件缓存

linux c下可以用posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED)清除指定文件的缓存。在windows下用什么可以清除缓存呢?

原因是因为我要测试从磁盘读取数据的速度,如果有缓存就测的不准了。

阅读 4.5k
1 个回答

使用 CreateFile 打开数据,并将倒数第二个参数的 Flag 设为 FILE_FLAG_NO_BUFFERING 即可。和 posix_fadvise 的 POSIX_FADV_DONTNEED 作用相同。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题