一.用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...