设为首页 加入收藏

TOP

11.5.6 fread回顾
2013-10-07 00:46:01 来源: 作者: 【 】 浏览:57
Tags:11.5.6 fread 回顾

11.5.6  fread回顾

如果读者能够一口气把fread的实现看完,我们对您表示十分的钦佩,因为它里面涉及诸多的细节让人无法做到一览无余。我们在这里把这些细节略去,在此做个总结性的回顾。当用户调用CRT的fread时,它到ReadFile的调用轨迹如图11-15所示。

 
(点击查看大图)图11-15  ReadFile调用轨迹
在这个轨迹中,_fread_nolock_s的实现是最复杂的,因为它涉及缓冲区的操作,它也是读取文件的主要部分,如果我们使用fread读取一小块数据,有可能在_fread_nolock_s的时候发现所有所需要的数据都在缓冲中,就不需要通过_read和ReadFile向操作系统读取文件了,而是直接从缓冲区复制数据并返回,这样就减少了系统调用的开销。
【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇11.5.4 _read 下一篇5月4日外电头条:我们为什么更需..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: