網(wǎng)上大多講述的是 VC6.0 還有就是利用 ddkwizard 插件配置環(huán)境,VC6.0的配置跟VS2005還是有很大不同的,又因?yàn)槭浅鯇W(xué)者覺(jué)得用 ddkwizard 幫助我們做了很多工作,不利于學(xué)習(xí)。所以自己一步步在VS2005配置。在這里列出僅供參考: 預(yù)備工作: 1、安裝了DDK(呵呵,說(shuō)句廢話)。目錄名字最好不要帶空格; 2、在VS2005中選擇 “生成”|“配置管理器” ---在活動(dòng)解決方案配置中 新建一個(gè)方案名(不要Debug、Release); 3、選擇 ”工具“|”選項(xiàng)“菜單 選擇”項(xiàng)目和解決方案“ 選項(xiàng)卡,選擇“VC++目錄”選項(xiàng)卡 在”顯示以下內(nèi)容的目錄“下拉菜單中選擇”包含文件“菜單 添加”C:\WinDDK\6001.18002\inc\ddk“和 "C:\WinDDK\6001.18002\inc\api" 選擇”庫(kù)文件“菜單添加”C:\WinDDK\6001.18002\lib\wxp\i386“ 接下來(lái)就是工程配置屬性項(xiàng) 4、選擇”項(xiàng)目“|”屬性“ 彈出”屬性頁(yè)“對(duì)話框 選擇”配置 屬性“選項(xiàng)卡 選擇“C/C++”選項(xiàng)卡 4.1、再選擇”常規(guī)“選項(xiàng)卡 1、”調(diào)試信息格式“ 選擇 C7兼容(/Z7) 用Z7模式產(chǎn)生調(diào)試信息 2、取消顯示啟動(dòng)版權(quán)標(biāo)志 選擇 是(/nologo) (默認(rèn)) 3、警告等級(jí) 選擇 3 級(jí)(/W3) 4、將警告視為錯(cuò)誤 選擇 是(/WX) 4.2、選擇”優(yōu)化“選項(xiàng)卡 1、優(yōu)化 選擇 禁用(/Od) 其他默認(rèn)即可 4.3 選擇”預(yù)處理器“選項(xiàng)卡 1、預(yù)處理定義 編輯 WIN32=100;_X86_=1;DBG=1 (WINVER=0x500,是因?yàn)槟闶莊or 2K的。XP的是0x501,不過(guò)不用寫,反正不用VC6了,寫了反而編譯不能通過(guò)。) 其他默認(rèn)即可 4.4 選擇”高級(jí)“ 選項(xiàng)卡 1、調(diào)用約定 選擇 __stdcall (/Gz) (這個(gè)不用說(shuō)了驅(qū)動(dòng)函數(shù)調(diào)用采用標(biāo)準(zhǔn)調(diào)用”) 5、 好了,輪到”連接器“ 選項(xiàng)卡了 5.1 選擇”常規(guī)“選項(xiàng)卡 1、輸出文件 編輯 MyDriver_Check/HelloDDK.sys 2、啟用增量鏈接 選擇 否(/INCREMENTAL:NO) 3、附加庫(kù)目錄 編輯 C:\WinDDK\6001.18002\lib\wxp\i386 (因?yàn)榈认乱玫絥tosknl.lib 如果是WDM驅(qū)動(dòng)程序,則需要鏈接wdm.lib) 其他選項(xiàng)默認(rèn) 5.2 選擇“輸入"選項(xiàng)卡 1、附加依賴項(xiàng) 編輯 彈出 ”附加依賴項(xiàng) “ 編輯框 編輯 ntoskrnl.lib 復(fù)選框”從父級(jí)或項(xiàng)目默認(rèn)設(shè)置繼承“ 的勾 去掉 (免得 調(diào)用 用戶層 lib 文件) 2、忽略所有默認(rèn)庫(kù) 選擇 是(/NODEFAULTLIB) 其他選項(xiàng)默認(rèn) 5.3 選擇”調(diào)試“選項(xiàng)卡 1、生成調(diào)試信息 選擇 是(/DEBUG) 2、生成程序數(shù)據(jù)庫(kù)文件 編輯 MyDriver_Check/HelloDDK.pdb 5.4 選擇”系統(tǒng)“ 選項(xiàng)卡 1、子系統(tǒng) 選擇 本機(jī)(/SUBSYSTEM:NATIVE) 2、堆棧保留大小 編輯 40000 3、 堆棧提交大小 編輯 1000 4、驅(qū)動(dòng)程序 選擇 驅(qū)動(dòng)程序(/DRIVER) 5.5 選擇”高級(jí)“ 選項(xiàng)卡 1、入口點(diǎn) 編輯 DriverEntry (驅(qū)動(dòng)的入口函數(shù)地址) 2、基址 編輯 0x10000 3、 目標(biāo)計(jì)算機(jī) MachineX86 (/MACHINE:X86) (一般是這個(gè)) 附:使用的ddk 為:wdk 6001.18002 用得是wxp 鏈接庫(kù) 這是 偶今天 從書(shū)中還有網(wǎng)上的資料 總結(jié)下來(lái) 的 編譯驅(qū)動(dòng)程序 可以編譯通過(guò) , 希望對(duì)初學(xué)者有所幫助、也幫助自己以后有個(gè)參考 , 不當(dāng)之處 請(qǐng)指正 |
|