windows驱动开发技术详解 VC6与DDK搭配使用的设置
在《windows驅動開發技術詳解》中作者提供了兩種調式內核程序的方法,有兩種編譯驅動的辦法,一種是用DDK環境來編譯,需要在源代碼所在目錄下創建兩個文件makefile和Sources,另一種為vc搭配DDK使用,但不需要寫makefile和source文件,
第一種 DDK環境來編譯
? 寫好文件,在開始菜單中選擇“Windows XP Checked Build Environment”編譯環境,用cd命令進入需要編譯的目錄,輸入”build“命令就可以,編譯后的驅動位于objchk_wxp_x86"i386目錄下,名為HelloDDK.sys
第二種編譯方式是使用VC++進行編譯
1,用vc新建工程。在"project"選項卡中,選擇win32 Application,選擇一個空的工程。
2,將兩個源文件Driver.h和Driver.cpp拷貝到工程目錄中,并添加到工程中。
3,增加新的編譯版本,去掉Debug 和Release 版本,增加一個Win32 Driver Check Edition
4,修改工程屬性。選擇"Project|Setting",或者直接按下Alt+F7鍵,彈出"Project Settings"。在對話框中,選擇“General”選項卡。將Intermediate files和Output files都改為MyDriver_Check.
5,選擇C/C++選項卡,將原有的Project Options 內容全部刪除替換成如下內容:
?/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c
?6,選擇Link選項卡,將原有的Project Options 內容全部刪除,替換成如下內容
?ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
?7。修改VC的lib目錄和include目錄。
在vc中選擇"Tools"|"Options",在彈出的對話框中選擇“Directories”選項卡。在“Show directories for”下拉菜單中選擇“Include files”菜單,添加
D:/WINDDK/3790.1830/INC/W2K
D:/WINDDK/3790.1830/INC/DDK/W2K
并將這兩個目錄置于最上。
在"Show directories for "下拉菜單中選擇“Library files”菜單,添加目錄
D:/WINDDK/3790.1830/LIB/W2K/I386
并置于最上端。
8,按照書上所述的步驟做完后編譯,會報錯如下:
fatal error C1083: Cannot open include file: 'specstrings.h': No such file or directory
原因是include目錄設置沒完整,加入如下目錄既可以正確編譯
D:/WINDDK/3790.1830/INC/CRT
?
?當然,以上設置為調式NT式的驅動程序,如果你調式WDM式的驅動程序,vc會提示找不到WDM.H頭文件,這是我們應該在
在vc中選擇"Tools"|"Options",在彈出的對話框中選擇“Directories”選項卡。在“Show directories for”下拉菜單中選擇“Include files”菜單,添加
D:/WINDDK/3790.1830/inc/ddk/wdm/w2k
?? 這時再摁F7,你就會發現程序就正常執行了,終于解決了這個小問題。。
?舒服、、、、、
總結
以上是生活随笔為你收集整理的windows驱动开发技术详解 VC6与DDK搭配使用的设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东API开发系列:京东按关键字搜索商品
- 下一篇: 计算机 360云盘删除,删除360云盘图