Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22968
  • 博文数量: 14
  • 博客积分: 560
  • 博客等级: 中士
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-21 20:25
文章分类

全部博文(14)

文章存档

2010年(14)

我的朋友
最近访客

分类: C/C++

2010-10-14 19:32:35

fopen函数的执行流程:
1.加锁FILE流数组;
2.调用__getfp(void)去遍历_streams[];
 2.1该函数通过判断FILE的fd域,找到小于0的(即可使用的,正在被使用的均大于0),就返回FILE指针,当遍历完还未找到则返回NULL。
3.当__getfp(void)返回非NULL,则调用__topenfp()去:
 3.1该函数调用CheckOpenType()测试打开模式字符串;
 3.2还调用___topen()去根据3.1返回的参数去打开磁盘文件和创建一些磁盘文件操作资源;
4.解锁FILE流数组;
  返回FILE结构体指针。
阅读(650) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-15 16:16:45

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com