VS2015配置内核WDK7600环境,32位下.
?
VS2015配置內(nèi)核WDK7600環(huán)境,32位下.
學(xué)習(xí)內(nèi)核驅(qū)動(dòng)的編寫,就要會(huì)配置環(huán)境.不然總是用記事本編寫.比較不方便.
環(huán)境配置如下.
1.首先下載WDK7600,?課堂資料代碼中已經(jīng)上傳.鏈接:https://pan.baidu.com/s/1o9PjpUU?密碼:k5sp
2.VS2015下載.?這個(gè)網(wǎng)絡(luò)上有很多.自己選擇一個(gè)下載即可. PS: VS2013配置一樣可以.?配置好了導(dǎo)出模版.然后也可以給VS2015使用.
一丶環(huán)境配置
1.打開VS2015,新建空項(xiàng)目
中文: 文件 ->?新建 ->?常規(guī) ->?空項(xiàng)目
2.添加新文件,后綴為.cpp
打開解決方案視圖
源文件 ->?添加新建項(xiàng)(Ctrl + shift + a)
3.修改配置屬性
項(xiàng)目 ->?屬性 ->?常規(guī)
ALT + F7(直接這個(gè)按鍵也可以).
修改:
項(xiàng)目 ->?屬性 ->?常規(guī) ->目標(biāo)文件擴(kuò)展名為.sys
4.修改配置管理器,添加配置管理
生成 ->?配置管理器
名字可以隨便取
5.配置WDK的環(huán)境變量
配置環(huán)境變量
計(jì)算機(jī)- >屬性 ->?高級(jí)系統(tǒng)設(shè)置 ->高級(jí)->環(huán)境變量->系統(tǒng)變量->path路徑
然后將我們的WDK的根目錄拷貝進(jìn)來即可.
例如我的是:
D:\WinDDK\7600.16385.1
6.配置文件目錄以及庫目錄
項(xiàng)目->屬性
或者快捷鍵 ALT+F7
配置:
項(xiàng)目->屬性->VC++目錄
可執(zhí)行的配置路徑:
配好我們的環(huán)境變量了,那么配置我們的XP即可.
例如我的是:
D:\WinDDK\7600.16385.1\bin\x86\x86
包含目錄的配置路徑:
總共三個(gè)路徑需要配置,都是inc下的路徑
1.D:\WinDDK\7600.16385.1\inc\ddk? ??
2.D:\WinDDK\7600.16385.1\inc\api
3.D:\WinDDK\7600.16385.1\inc\crt
引用目錄的配置路徑:
也是三個(gè),很簡單.都是lib下的.
1.D:\WinDDK\7600.16385.1\lib\ATL\i386
2.D:\WinDDK\7600.16385.1\lib\Crt\i386
3.D:\WinDDK\7600.16385.1\lib\wxp\i386
庫目錄的配置路徑:
庫目錄的配置路徑就是把我們的WDK的lib庫設(shè)置一下即可.
1.D:\WinDDK\7600.16385.1\lib\wxp\i386
7.設(shè)置優(yōu)化選項(xiàng)
項(xiàng)目->屬性
或者快捷鍵 ALT+F7
配置:
項(xiàng)目 ->?屬性 -> C/C++ ->優(yōu)化
設(shè)置如下.
8.設(shè)置預(yù)處理器
項(xiàng)目 ->?屬性
配置屬性:
項(xiàng)目 ->?屬性->C/C++ ->?預(yù)處理器
設(shè)置為下面的命令:
_X86_;_DDK_;_WIN32_WINNT=0x0501;WINVER=0x0501;_DEBUG;DBG=1
9.禁止安全檢查
項(xiàng)目 ->?屬性
配置屬性:
項(xiàng)目->屬性->C/C++->代碼生成 ->?安全檢查.
設(shè)置為禁止安全檢查即可.
10.修改調(diào)用約定
修改我們的調(diào)用約定為STDCALL
?
項(xiàng)目->屬性
配置屬性:
項(xiàng)目->屬性->C/C++->高級(jí)->調(diào)用約定
11.修改連接器配置中的依賴選項(xiàng)和忽略所有默認(rèn)庫
修改連接器中的附加依賴選項(xiàng),和忽略所有默認(rèn)庫
項(xiàng)目->屬性
配置屬性:
項(xiàng)目->屬性->連接器->輸入->附加依賴選項(xiàng)
項(xiàng)目->屬性->連接器->忽略所有庫
附加依賴選項(xiàng)修改為:
ntoskrnl.lib;ndis.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib
?
?
?
12.修改連接器配置中的清單文件
項(xiàng)目->屬性
配置屬性:
項(xiàng)目->屬性->連接器->清單文件->生成清單.
13.修改連接器配置中的調(diào)試信息
項(xiàng)目->配置
配置屬性:
項(xiàng)目->配置->連接器->調(diào)試
箭頭所指的地方,如果是VS2013,改為是即可.
14.修改連接器配置中的系統(tǒng)屬性
?項(xiàng)目->屬性
配置屬性:
項(xiàng)目->屬性->連接器->系統(tǒng)->驅(qū)動(dòng)程序
15.修改連接器配置中的入口點(diǎn)
項(xiàng)目->屬性
配置屬性:
項(xiàng)目->屬性->連接器->高級(jí)
這里要設(shè)置入口點(diǎn)以及隨機(jī)基址
入口點(diǎn)設(shè)置為內(nèi)核驅(qū)動(dòng)入口點(diǎn)
DriverEntry
注意:
隨機(jī)基址,和數(shù)據(jù)執(zhí)行保護(hù)都要為空
對(duì)比連接器所有選項(xiàng)設(shè)置
?
?
?
注意子系統(tǒng)需要設(shè)置一下
?
?
?
16.將我們的CPP文件.或者.c文件設(shè)置為驅(qū)動(dòng)代碼.編譯看看是否可以生成.
此時(shí)我們都已經(jīng)配置完畢,我們拷貝一個(gè)驅(qū)動(dòng)代碼進(jìn)來.看看是否能生成
如果可以生成,那么配置沒有錯(cuò)誤.可以導(dǎo)出為模版,然后只要建立驅(qū)動(dòng)程序就可以使用這個(gè)模版了.
?
?
成功生成,可以導(dǎo)出為模版文件了.
?
17.生成模版文件使用
文件->導(dǎo)出模版->項(xiàng)目模版
下一步進(jìn)行操作
模版名稱可以修改
注意模版路徑,如果你有更好的模版路徑,則可以輸出到這個(gè)路徑.?那么VS2015就可以使用這個(gè)模版了.
完成即可.
?
?進(jìn)入我們的路徑,則可以看到我們的模版文件了.
?
18使用模版,創(chuàng)建一個(gè)WDK內(nèi)核驅(qū)動(dòng)程序
現(xiàn)在我們可以關(guān)閉我們的VS2015,重新打開則可以創(chuàng)建一個(gè)內(nèi)核驅(qū)動(dòng)了.
?
文件->新建->項(xiàng)目->Visual C++
此時(shí)已經(jīng)有我們的模版了.創(chuàng)建了.然后生成一下看看是否成功
可以正常運(yùn)行,但是注意一下.我們要選擇我們自己配置的生成.
不能選擇Debug或者Release編譯.
?
原創(chuàng)不易,轉(zhuǎn)載請(qǐng)注明出處.如果對(duì)你有用.下方請(qǐng)?jiān)u論.支持一下.
?
轉(zhuǎn)載于:https://www.cnblogs.com/iBinary/p/8290595.html
總結(jié)
以上是生活随笔為你收集整理的VS2015配置内核WDK7600环境,32位下.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法初步——two pointers
- 下一篇: 可拖动的弹窗