[序言]
很多人都對驅(qū)動開發(fā)有興趣,但往往找不到正確的學習方式.當然這跟驅(qū)動開發(fā)的本土化資料少有關(guān)系.大多學的驅(qū)動開發(fā)資料都以英文為主,這樣讓很多驅(qū)動初學者很頭疼.本人從事驅(qū)動開發(fā)時間不長也不短,大概也就3~4年時間.大多數(shù)人都認為會驅(qū)動開發(fā)的都是牛人,高手之類的.其實高手,牛人不是這樣定義的.我們在學習驅(qū)動開發(fā)之前,一定要明白一個道理:術(shù)業(yè)有專攻,不要盲目跟風.
[本內(nèi)容適用環(huán)境及工具]
1> Windows系統(tǒng)下
2> VC6.0以及VS2003版本以上
3> Windows驅(qū)動開發(fā)包(DDK(老版本) WDK(新版本))
4> 有能力著可以安裝VMWare
[本內(nèi)容適用群體]
1> 具有C/C++語言基礎(chǔ)的人
2> 具備高中以上文化水平的邏輯思維
[具備Windows系統(tǒng)理論書籍]
1> Windows核心編程
2> Win32多線程程序設(shè)計
3> 深入解析Windows操作系統(tǒng)
4> Windows操作系統(tǒng)原理
FAQ1:為什么需要[具備Windows系統(tǒng)理論書籍]這4本書?
答:驅(qū)動是Windows系統(tǒng)的一個重要的組成部分,深入Windows系統(tǒng)核心的一個體系,就因為驅(qū)動跟系統(tǒng)內(nèi)核聯(lián)系得十分緊密,所以涉及了不少系統(tǒng)的基礎(chǔ)理論以及原理.因此在學習驅(qū)動開發(fā)之前必須先明白Windows系統(tǒng)的基礎(chǔ)開發(fā)理論,Windows系統(tǒng)的運作原理,Windows系統(tǒng)的架構(gòu)體系.那么我提供的上面4本書是目前市面上我認為最經(jīng)典最全面的書籍了.
[具備Windows驅(qū)動開發(fā)書籍]
1> Windows驅(qū)動開發(fā)詳解
2> Windows設(shè)備驅(qū)動程序WDF開發(fā)
FAQ2:為什么需要[具備Windows驅(qū)動開發(fā)書籍]這2本書?
答:假設(shè)你對Windows系統(tǒng)的基礎(chǔ)理論扎實了,也看完了所說的[Windows系統(tǒng)理論書籍]這4本書,而且你還從事開發(fā)過Windows程序或者大程序的經(jīng)驗者.那么你進入Windows驅(qū)動開發(fā)的時候,需要一本經(jīng)典的驅(qū)動入門開發(fā)書籍即可正確入門.現(xiàn)在我提供了[Windows驅(qū)動開發(fā)書籍]這2本書完完全全針對Windows驅(qū)動開發(fā)入門而編寫的書籍.當然我首要推薦<Windows驅(qū)動開發(fā)詳解>這本書.本書的內(nèi)容在目前來說,針對驅(qū)動開發(fā)的講解時非常到位了.包含了驅(qū)動開發(fā)理論 配置 驅(qū)動體系 等等......是一本不可多得的好書.那么第2本,其實有點濫竽充數(shù),但是他里面有少少涉及到WDF這個最新的驅(qū)動開發(fā)理論的講解,大家也就湊合著吧.
[具備Windows調(diào)試基礎(chǔ)理論書籍]
1> 軟件調(diào)試
2> Windows用戶態(tài)程序高效排錯
FAQ3:為什么需要[具備Windows調(diào)試基礎(chǔ)理論書籍]這2本書?
答:在開發(fā)驅(qū)動的情況下,你少不了要調(diào)試驅(qū)動程序.那么如何調(diào)試驅(qū)動程序呢? Windows已為你考慮到這個問題了并開發(fā)了一套強有力的調(diào)試工具:Windbg .如何學習這個工具的調(diào)試呢?那么現(xiàn)在市面上只有這2本書針對Windbg講解得還比較到位,至少針對調(diào)試命令的使用,已經(jīng)用中文講解了,大家可以通過2本書先大概了解Windbg的調(diào)試命令,然后再進一步進行GOOGLE搜索并深入學習.
[驅(qū)動開發(fā)擴展書籍]
1> 寒江獨釣-Windows內(nèi)核安全編程
2> Windows內(nèi)核原理與實現(xiàn)
3> Rootkit Windows內(nèi)核安全防范
FAQ4:為什么需要[驅(qū)動開發(fā)擴展書籍]這2本書?
答:熟話說:學無止境,驅(qū)動開發(fā)領(lǐng)域是一個很龐大的體系,這歸根于驅(qū)動框架多樣化而決定的.驅(qū)動包含了:文件驅(qū)動,磁盤驅(qū)動,顯卡驅(qū)動,網(wǎng)絡(luò)驅(qū)動,等等不同的種類,每一種類就是一個領(lǐng)域,你決定你的能力需要擴展到多方面,那么你可以考慮先我這里提供的這3本書來學習,通過閱讀這3本書,你會發(fā)現(xiàn)驅(qū)動可以做很多你意想不到的事情.本人從事開發(fā)驅(qū)動將近4年,也僅僅涉及 文件驅(qū)動,磁盤驅(qū)動以及一些小型驅(qū)動而已.這些的學習我也僅僅是根據(jù)需求來進行選擇性學習.每個人都有自己的能力極限,大家要量力而行.
備注:網(wǎng)友可以推薦其他好書
[推薦學習資源站點]
1> http://forum.driverdevelop.com/ 國內(nèi)唯一個知識點比較全的驅(qū)動交流網(wǎng)站
2> http://www.osronline.com/ 國外著名的驅(qū)動開發(fā)社區(qū)
3> http://www.microsoft.com/whdc/default.mspx 微軟官方驅(qū)動開發(fā)技術(shù)支持
[推薦正確學習方式]
1> 認真閱讀我提供的參考書籍
2> 多使用Google來解決你遇到的問題
3> 多嘗試用驅(qū)動寫你自己喜歡的功能
4> 提升你英文閱讀能力,因為大部分有價值的資料來自于國外
5> 不要急于求成,不要把驅(qū)動開發(fā)技術(shù)當做一種炫耀
[修改補充]
如果你有什么建議和補充的話,請留言跟帖,好讓我更加完善這篇文章,以造福更多的初學者。
本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/Code_GodFather/archive/2010/10/30/5975901.aspx