Windows驅動開發入門
因為公司有一個專案需要用到驅動的開發技術,因此自己也開始自己學習驅動的開發了。接觸Windows驅動的開發也有幾個月了,在這個過程中,雖然有工作的事情要忙,學的不是很專心,也看了不少書,自己也動手寫了一點程式碼。可是過了幾個月之後,我突然迷茫了,怎麼感覺學的這麼亂呢,我學了點什麼東西啊,自己也回答不上來。我也想找高人指點一下,然而並未有人迴應,於是我就自己思考。
這兩天,我沒怎麼看新的東西,一直在思考我以前看的書和自己敲的程式碼,一點一點的總結,一點一點的回憶。慢慢地,理出一點脈絡,與大家分享一下。
學習Windows驅動程式設計,開始的時候要直觀的理解驅動程式的結構,這只是一個直觀的印象,卻能給人帶來很多東西,儘量自己敲一下,即使是看一眼書敲一點也行(因為本人的技術起點比較低,就是採用了這種比較笨的方法,或許還有更好的)。
在熟悉了驅動程式的結構之後,就應該熟悉驅動程式開發的環境了,個人比較喜歡DDK,不過在寫程式碼的過程中容易出現一些因為書寫而出現的錯誤,也可由配置VC或者VS的環境,這樣好一點,DS也挺好用的。
這些東西如果沒弄好,就算去看原理,還是感覺寫不出來沒什麼效果,就算有什麼想法了,也沒法動手實踐一下,因為你對前面的東西並不熟悉。
熟悉了這些之後,應該說是知道了驅動開發的一些框架了,這時候應該能寫出一個Helloworld一類的東西了。然後就是往框架裡添具體的枝葉了,接下來學習驅動開發中場用的資料結構、Windows的記憶體管理、同步的問題、Pnp的處理等原理和具體的程式設計技巧。學習這些的時候,還是不能忘記動手,畢竟是做開發的,看看別的程式碼,沒事敲敲,敲別人的也行,慢慢就能寫出自己想要得到東西了。
驅動的除錯是一個比較令人崩潰的活,需要就是耐心。
至於學習的資料,推薦從《Windows開發技術詳解》看起,相對而言,起點比較低,容易上手。
接下來就是看看《Programming the Microsoft Windows driver model》,英文功底好的看原版,不好的就看看中文版的。
驅網的《寒江獨釣》也蠻不錯的,有了一點的基礎之後,可以進行例項的開發,不錯的參考書。
至於其他的資料,看看網上高手推薦的,我就不再贅述了。不過,不管看什麼資料,都是需要耐心和自己的總結的,畢竟驅動開發不像普通的應用程式的開發那麼容易。
ps:個人文件,請勿轉載,轉載請標明出處。同時釋出看雪論壇一份。
相關文章
- Windows驅動開發入門 -- 理清基本概念Windows
- 驅動開發入門
- Windows的驅動開發模型Windows模型
- Linux驅動開發入門與實踐(一)Linux
- windows載入驅動Windows
- windows驅動載入順序Windows
- [Windows驅動開發](一)VS2008搭建windows驅動編譯環境Windows編譯
- Kinect for Windows SDK開發入門:Kinect FusionWindows
- Windows下Qt 5.2 for Android開發入門WindowsQTAndroid
- 抱怨驅動開發
- Linux裝置驅動開發詳解:入門與程式設計實踐Linux程式設計
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- Windows NT 裝置驅動程式開發基礎(1) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(3) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(2) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(4) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(5) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(7) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(6) (轉)Windows
- Windows NT 裝置驅動程式開發基礎(8) (轉)Windows
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- 【敏捷開發】驅動測試開發敏捷
- 白痴驅動開發方法
- "測試"驅動開發
- Microsoft Windows Workflow Foundation 入門:開發人員演練ROSWindows
- linux裝置驅動編寫入門Linux
- 領域驅動設計(DDD)入門&概要
- odoo 開發入門教程系列-模組互動Odoo
- 遊戲開發新手入門之Windows程式設計(轉)遊戲開發Windows程式設計
- 驅動開發書籍大全
- 驅動程式開發步驟
- 行為驅動開發iOSiOS
- window驅動開發總結
- 敏捷開發入門敏捷
- OpenGL開發入門
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- Windows驅動程式框架Windows框架
- android驅動學習入門-android應用怎麼呼叫驅動2Android