作者网站: http://www.x86asm.com
原文链接: http://blog.csdn.net/Code_GodFather/...0/5975901.aspx
[序言]
很多人都对
驱动开发
有兴趣,但往往找不到正确的学习方式.当然这跟
驱动开发
的本土化资料少有关系.大多学的
驱动开发
资料都以英文为主,这样让很多
驱动
初学者很头疼.本人从事
驱动开发
时间不长也不短,大概也就3~4年时间.大多数人都认为会
驱动开发
的都是牛人,高手之类的.其实高手,牛人不是这样定义的.我们在学习
驱动开发
之前,一定要明白一个道理:术业有专攻,不要盲目跟风.
[本内容适用环境及工具]
1> Windows系统下
2> VC6.0以及VS2003版本以上
3> Windows
驱动开发
包(DDK(老版本) WDK(新版本))
4> 有能力着可以安装VMWare
[本内容适用群体]
1> 具有C/C++语言基础的人
2> 具备高中以上文化水平的逻辑思维
[具备Windows系统理论书籍]
1> Windows核心编程
2> Win32多线程程序设计
3> 深入解析Windows操作系统
4> Windows操作系统原理
FAQ1:为什么需要[具备Windows系统理论书籍]这4本书?
答:
驱动
是Windows系统的一个重要的组成部分,深入Windows系统核心的一个体系,就因为
驱动
跟系统内核联系得十分紧密,所以涉及了不少系统的基础理论以及原理.因此在学习
驱动开发
之前必须先明白Windows系统的基础
开发
理论,Windows系统的运作原理,Windows系统的架构体系. 那么我提供的上面4本书是目前市面上我认为最经典最全面的书籍了.
[具备Windows驱动开发书籍]
1> Windows
驱动开发
详解
2> Windows设备
驱动
程序WDF
开发
FAQ2:为什么需要[具备Windows
驱动开发书籍]这2本书?
答:假设你对Windows系统的基础理论扎实了,也看完了所说的[Windows系统理论书籍]这4本书,而且你还从事
开发
过Windows程序或者大程序的经验者.那么你进入Windows
驱动开发
的时候,需要一本经典的
驱动
入门
开发
书籍即可正确入门.现在我提供了[Windows
驱动开发
书籍]这2 本书完完全全针对Windows
驱动开发
入门而编写的书籍.当然我首要推荐<Windows
驱动开发
详解>这本书.本书的内容在目前来说,针对
驱动开发
的讲解时非常到位了.包含了
驱动开发
理论 配置
驱动
体系 等等......是一本不可多得的好书.那么第2本,其实有点滥竽充数,但是他里面有少少涉及到WDF这个最新的
驱动开发
理论的讲解,大家也就凑合着吧.
[具备Windows调试基础理论书籍]
1> 软件调试
2> Windows用户态程序高效排错
FAQ3:为什么需要[具备Windows调试基础理论书籍]这2本书?
答:在
开发驱动
的情况下,你少不了要调试
驱动
程序.那么如何调试
驱动
程序呢? Windows已为你考虑到这个问题了并
开发
了一套强有力的调试工具:Windbg .如何学习这个工具的调试呢?那么现在市面上只有这2本书针对Windbg讲解得还比较到位,至少针对调试命令的使用,已经用中文讲解了,大家可以通过2 本书先大概了解Windbg的调试命令,然后再进一步进行GOOGLE搜索并深入学习.
[驱动开发扩展书籍]
1> 寒江独钓-Windows内核安全编程
2> Windows内核原理与实现
3> Rootkit Windows内核安全防范
FAQ4:为什么需要[
驱动开发扩展书籍]这2本书?
答:熟话说:学无止境,
驱动开发
领域是一个很庞大的体系,这归根于
驱动
框架多样化而决定的.
驱动
包含了:文件
驱动
,磁盘
驱动
,显卡
驱动
,网络
驱动
,等等不同的种类,每一种类就是一个领域,你决定你的能力需要扩展到多方面,那么你可以考虑先我这里提供的这3本书来学习,通过阅读这3本书,你会发现
驱动
可以做很多你意想不到的事情.本人从事
开发驱动
将近4年,也仅仅涉及 文件
驱动
,磁盘
驱动
以及一些小型
驱动
而已.这些的学习我也仅仅是根据需求来进行选择性学习.每个人都有自己的能力极限,大家要量力而行.
备注:网友可以推荐其他好书
[推荐学习资源站点]
1> http://forum.driverdevelop.com/
国内知识点比较全的
驱动
交流网站
2> http://www.osronline.com/
国外著名的
驱动开发
社区
3> http://www.microsoft.com/whdc/default.mspx
微软官方
驱动开发
技术支持
[推荐正确学习方式]
1> 认真阅读我提供的参考书籍
2> 多使用Google来解决你遇到的问题
3> 多尝试用
驱动
写你自己喜欢的功能
4> 提升你英文阅读能力,因为大部分有价值的资料来自于国外
5> 不要急于求成,不要把
驱动开发
技术当做一种炫耀
[修改补充]
如果你有什么建议和补充的话,请留言跟帖,好让我更加完善这篇文章,以造福更多的初学者。