wuwang123xx
驱动牛犊
驱动牛犊
  • 注册日期2008-09-16
  • 最后登录2011-06-14
  • 粉丝2
  • 关注0
  • 积分38分
  • 威望321点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2637回复:6

快速读写文件的方法

楼主#
更多 发布于:2010-07-16 16:32
我尝试了用C++提供的文件操作函数, MFC的CFile, 内存映射文件等方法来读写文件,感觉都不是很快。
后来在内核里读写也很慢,还不如内存映射文件。请问有什么方法能读写文件性能更好。
非常感谢!
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-07-17 14:23
那就在驱动里面用内存映射文件呗

提问归提问,还是只能靠自己
wuwang123xx
驱动牛犊
驱动牛犊
  • 注册日期2008-09-16
  • 最后登录2011-06-14
  • 粉丝2
  • 关注0
  • 积分38分
  • 威望321点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-07-19 10:28
引用第1楼looksail于2010-07-17 14:23发表的  :
那就在驱动里面用内存映射文件呗

 




驱动里能有内存映射文件的函数吗?好像没发现哦。
wanghui219
禁止发言
禁止发言
  • 注册日期2007-08-28
  • 最后登录2019-07-29
  • 粉丝4
  • 关注3
  • 积分101166分
  • 威望505351点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分4分
  • 社区居民
地板#
发布于:2010-07-20 09:07
用户被禁言,该主题自动屏蔽!
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-07-20 12:52
引用第2楼wuwang123xx于2010-07-19 10:28发表的 :




驱动里能有内存映射文件的函数吗?好像没发现哦。
.......


当然有啦
ZwCreateSection
ZwMapViewOfSection
提问归提问,还是只能靠自己
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
5楼#
发布于:2010-07-20 22:59
引用楼主wuwang123xx于2010-07-16 16:32发表的 快速读写文件的方法 :
我尝试了用C++提供的文件操作函数, MFC的CFile, 内存映射文件等方法来读写文件,感觉都不是很快。
后来在内核里读写也很慢,还不如内存映射文件。请问有什么方法能读写文件性能更好。
非常感谢!


纯粹读写的速度跟应用和硬件有关。如果你的应用是对文件,尤其是大文件,从头到尾只读写一次,内存映射、缓存等作用不大,想办法升级硬件吧。
wuwang123xx
驱动牛犊
驱动牛犊
  • 注册日期2008-09-16
  • 最后登录2011-06-14
  • 粉丝2
  • 关注0
  • 积分38分
  • 威望321点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-07-22 09:08
非常谢谢上面几位的回答。
我自己去try了。
游客

返回顶部