使用VS2008編譯驅動程式

2021-06-13 09:46:58 字數 1405 閱讀 7881

一.用vs2008建立乙個win32控制台應用程式,在「附加選項」處勾選「空專案」

二.將編寫好的源**檔案匯入專案中

三.修改vs2008設定,新增支援驅動程式編譯鏈結的標頭檔案和庫檔案

在include目錄中新增:

d:\軟體\winddk\2600\inc\w2k

d:\軟體\winddk\2600\inc\ddk\w2k

d:\軟體\winddk\2600\inc\ddk\wdm\w2k

在lib目錄中新增:

d:\軟體\winddk\2600\lib\w2k\i386

四.修改專案屬性。

將專案屬性依次修改為:

「配置屬性」->「c/c++」 -> 「常規」:

除錯資訊格式:c7 相容(/z7)

「配置屬性」->「c/c++」 -> 「預處理器」:

預處理器定義:win32=100;_x86_=1;winver=0x500;dbg=1

「配置屬性」->「c/c++」 -> 「**生成」:

啟用最小重新生成:否

基本執行時檢查:預設值

執行時庫:多執行緒除錯(/mtd)

「配置屬性」->「c/c++」 -> 「高階」:

呼叫約定:__stdcall (/gz)

「配置屬性」->「鏈結器」 -> 「常規」:

輸出檔案:$(outdir)\$(projectname).sys

「配置屬性」->「鏈結器」 -> 「輸入」:

附加依賴項:ntoskrnl.lib wdm.lib

忽略所有預設庫:是(/nodefaultlib)

「配置屬性」->「鏈結器」 -> 「清單檔案」:

啟用使用者帳號控制uac:否

「配置屬性」->「鏈結器」 -> 「除錯」:

生成映像檔案:是(/map)

映像檔名:$(targetdir)$(targetname).map

「配置屬性」->「鏈結器」 -> 「系統」:

堆疊保留大小:4194304

堆疊提交大小:4096

驅動程式:驅動程式(/driver)

「配置屬性」->「鏈結器」 -> 「高階」:

入口點:driverentry

設定效應和:是(/release)

基址:0x10000

隨機基址:預設值

資料執行保護(dep):預設值

「配置屬性」->「鏈結器」 -> 「命令列」->「附加選項」:

新增開關:/section:init,d /ignore:4078 /safeseh:no可以避免以下錯誤提示

link : warning lnk4078: 找到多個「init」節,它們具有不同的屬性(e2000020)

link : error lnk2001: 無法解析的外部符號__load_config_used

使用VS2008編譯驅動程式

一 用vs2008建立乙個win32控制台應用程式,在 附加選項 處勾選 空專案 二 將編寫好的源 檔案匯入專案中 三 修改vs2008設定,新增支援驅動程式編譯鏈結的標頭檔案和庫檔案 在include目錄中新增 d 軟體 winddk 2600 inc w2k d 軟體 winddk 2600 i...

VS2008編譯驅動程式的配置方法

編譯驅動程式的常用方法有兩種,一種是通過wdk ddk的command環境進行編譯,另外一種是通過visual studio系列軟體實現介面編譯。通過visualstudio編譯驅動程式需要對其進行相關配置,本文以vs2008和wdk7600為例,講解了實現編譯驅動程式的配置方法。一 安裝vs200...

VS2008編譯驅動程式的配置方法

編譯驅動程式的常用方法有兩種,一種是通過wdk ddk的command環境進行編譯,另外一種是通過visual studio系列軟體實現介面編譯。通過visualstudio編譯驅動程式需要對其進行相關配置,本文以vs2008和wdk7600為例,講解了實現編譯驅動程式的配置方法。一 安裝vs200...