没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
30页
去年写了2篇深入分析printf函数的合集文章,分别是: 1. 深入剖析printf函数(上):如何不借助第三方库在屏幕上输出"Hello World"? http://blog.csdn.net/tcpipstack/article/details/8490811 第一篇主要讲述printf函数的具体调用过程、系统调用及如何使用汇编语言实现一个简单的printf函数; 2. 深入剖析printf函数(下):---形参列表和格式化输出是如何做到的? http://blog.csdn.net/tcpipstack/article/details/8279584 第二篇讲述的是printf的详细形参列表和格式化输出是如何做到的,并列举了一个串口的printf函数的详细实现来进行说明。
资源推荐
资源详情
资源评论
深入剖析
深入剖析
printf
printf
函数
函数
Copyright © 2013 Long Luo.
Revision History
深入剖析 printf 函数
Long Luo
第
2
页
2013/12/25
Copyright © 2013 Long Luo. All Rights Reserved.
版本历史
Version
版本
Editing Note
修订历史
Reviser/Date
修订人/日期
Confirm/Date
确认/日期
Approval/
Date
批准/日期
Implement
Date
实施/日期
1.0 创建
罗龙 12/25/2013
深入剖析 printf 函数
Long Luo
第
3
页
2013/12/25
Copyright © 2013 Long Luo. All Rights Reserved.
Table Of Contents
Revision History................................................................................................................................ 2
Table Of Contents................................................................................................................................3
一、引子.............................................................................................................................................4
二、如何不借助第三方库实现 printf 函数?..................................................................................5
1.1 内核的诱惑..........................................................................................................................5
1.2 用 printf 撕开一个小小的口子...........................................................................................5
1.3 Linux 系统调用.................................................................................................................... 7
1.4 如何使用 Linux 系统调用?.............................................................................................. 7
1.5 用汇编语言实现 "Hello World".........................................................................................8
1.6 胜利的果实........................................................................................................................11
三、形参列表和格式化输出是如何实现的?.............................................................................. 12
3.1 格式化输出........................................................................................................................12
3.2 形参列表的读入................................................................................................................12
3.3 参数格式化输出................................................................................................................15
3.4 应用层的使用....................................................................................................................27
结束语............................................................................................................................................... 30
深入剖析 printf 函数
Long Luo
第
4
页
2013/12/25
Copyright © 2013 Long Luo. All Rights Reserved.
一、引子
---"
你为什么要去登珠穆朗玛?
"
当美国《纽约时报》记者问英国登山家乔治·马洛里。
---
“
Because it is there(
因为山在那里
)
。”
---题记
深入剖析 printf 函数
Long Luo
第
5
页
2013/12/25
Copyright © 2013 Long Luo. All Rights Reserved.
二、如何不借助第三方库实现 printf 函数?
知识是一种快乐,而好奇则是知识的萌芽。
---(英国)弗朗西斯·培根
1.1
内核的诱惑
会当凌绝顶,一览众山小。
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件
和网络系统,决定着系统的性能和稳定性。
几十年来,内核以它那深深的魅力吸引着无数的码农为之倾倒,一代又一代的码农们
从青青葱葱走向硕果累累,从风华正茂走向耄耋之年,也走出了现在多姿多彩的世界。
内核就像一位风姿卓约的美女,多少码农欲一亲芳泽而不得。Linux 内核是庞大复杂
的,超过 600 万行的代码,就如同珠穆朗玛峰一样那样让人望而生畏。初学者一踏入,绝
大多数会不自觉地迷失在这座庞大的迷宫里。
1.2
用
printf
撕开一个小小的口子
...
作为一名内核小白,我也期望着那天能登上 Linux 内核这座高峰,一览其风采,但高
原反应可不是闹着玩的。
既然暂时攀登不了珠穆朗玛峰,那就先试试攀登莲花山吧...
每一位初学者都学习过下面这个例子:
---(报告)没看过?
---拖出去,XX 了
1. /************************************************************************************
2. ** File: - Z:\code\c\LLprintf\print0.1\LLapp.c
3. **
4. ** Copyright (C), Long.Luo, All Rights Reserved!
5. **
6. ** Description:
7. ** LLapp.c
8. **
9. ** Version: 0.1
10. ** Date created: 21:30:00,10/01/2013
11. ** Author: Long.Luo
12. **
13. ** --------------------------- Revision History: --------------------------------
14. ** <author> <data> <desc>
15. **
16. ************************************************************************************/
17.
18. #include <stdio.h>
19.
20. int main(void)
剩余29页未读,继续阅读
资源评论
- z139556330632016-08-28深入底层,设计了很多知识, 为什么评论失败
- woooohaha2014-08-30比较有参考价值
tcpipstack
- 粉丝: 302
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功