在windows上,windows ddk提供的開發環境是基於命令列的,操作起來極為不便,相信進行過驅動程式開發的朋友一定對此深惡痛絕。另一方面,visual studio 6.0卻給我們提供了非常友好易用的整合環境,讓我們有如虎添翼之感。
那麼,能否利用visual studio的整合環境來開發驅動程式呢?筆者經過多方探索,並結合自己開發驅動的經驗,摸索出了一套實用的方法,通過對visual studio整合環境的簡單設定,建立了自己的驅動開發整合環境了。 下面筆者的一些經驗奉獻出來與大家共享,如有不當,歡迎指正。
0.系統要求已安裝
ddk
visual c++6.0(安裝時選上所有工具)
1.改造ddk/bin/setenv.bat
把要求mstools的有關語句注釋掉(若想在命令列環境開發驅動則還需加入call vc_dir/vc98/bin/vcvars32. bat),以便能在命令列使用vc的相關工具;若只想在ide環境開發就不必呼叫vcvars32.bat,因為相關工具的路徑資訊可以在vc環境中設定.)
2.建立乙個目錄driverenv(目錄名隨意),作為你開發驅動的大本營
3.在該目錄下建立乙個批處理檔案makedrvr.bat,內容如下:
@echo off
if "%1"=="" goto usage
if "%3"=="" goto usage
if not exist %1/bin/setenv.bat goto usage
call %1/bin/setenv %1 %4
%2
cd %3
build -b -w %5 %6 %7 %8 %9
goto exit
:usage
echo usage makedrvr ddk_dir driver_drive driver_dir free/checked [build_options]
echo eg makedrvr %%ddkroot%% c: %%wdmbook%% free -cef
:exit
該批處理首先對傳遞的引數作一些檢查,然後呼叫ddk的setenv命令設定環境變數,然後改變目錄為源程式所
在驅動器和目錄,並最後呼叫build,-b保證顯示完全的錯誤資訊,-w保證在螢幕上輸出警告,在vc ide裡的output視窗中可以看到這些錯誤和警告。
4.建立乙個空白工程
選file的new選單項,然後選project欄的makefile,然後輸入路徑,一路next下去即可,visual studio提供兩種配置win32 debug和win32 release.
5.修改這兩種配置
選project的settings選單項win32 debug:
在build command line一欄填入makedrvr ddk_dir source_drive source_dir checked [build options]
在rebuild all options一欄填入 -nmake /a
在output file一欄填入與sources檔案中的targetname相同的檔名
在browse info file name一欄填入obj/i386/checked/(與targetname相同的檔名,見下述).bsc
win32 release:
在build command line一欄填入makedrvr ddk_dir source_drive source_dir free [build options]
在rebuild all options一欄填入 -nmake /a
在output file一欄填入與sources檔案中的targetname相同的檔名
在browse info file name一欄填入obj/i386/free/(與targetname相同的檔名).bsc
注:ddk_dir一般可以寫成%basedir%,build options一般為-cef即已足夠
6.新增原始檔到工程
可以新建,也可以新增,這和普通的win32開發一樣。
7.新增資源檔案
選insert的resource選單項即可
8.把檔案makefile放入源程式目錄,其內容總是
#
# do not edit this file!!! edit ./sources. if you want to add a new source
# file to this component. this file merely indirects to the real make file
# that is shared by all the driver components of the windows nt ddk
#
!include $(ntmakeenv)/makefile.def
9.把檔案sources放入源程式目錄,內容為
targetname=ramdrive//這是要生成的驅動程式.sys檔案的名字
targetpath=obj //.sys檔案所在目錄的上層目錄,(由於ddk的bug)應手工在obj目錄下建立checked和free目錄,以作為.sys的最終存放目錄
targettype=driver //驅動程式的型別,一般不變
includes=$(basedir)/inc //ddk包含檔案路徑,一般不變
sources=ramdrive.cpp ramdrive.rc //原始檔(不要標頭檔案),資源檔案
browser_info = 1 //若想要瀏覽資訊,則要有本行;否則可無
10.因為makedrvr.bat在driverenv目錄,所以應把該目錄新增到vc的executable files裡面
選tools的options選單項,然後選directories頁,在show directories for一欄選擇executable files,然後新增即可.
至此,環境設定完畢,你可以按f7, build你的驅動程式了。
設定JHIpster的環境
photo by maximilian weisbecker on unsplash 我有很多軟體包需要安裝,因為它是全新安裝的,所以我認為發布帖子是個好主意,這樣我就不必每次都需要重新設定框時進行搜尋 發生過幾次 我認為這不需要太多的文字。很棒的ymljhipster生成的檔案 用於資料庫,分析,...
Eclipse SWT Jface環境設定
eclipse swt jface環境設定 花了好幾天的時間,終於有了 eclipse swt jface 的開發環境!使用 xp系統。現在,我和大家一起分享一下!終於設定好環境了,非常的高興 一 jdk 1 版本 jdk 有很多版本,我使用的是 jdk1.6.0.02 2 安裝 與一般的安裝程式一...
VI環境設定
linux 下vi設定 應用程式啟動時,先讀其配置檔案。這對於vi vim來說就是工作目錄下的隱藏檔案.vimrc。過程 以root使用者為例 vi vimrc 用以下命令寫.vimrc檔案為 set nu 自動顯示行號 set ts 4 設定tab鍵寬為4個空格 set ai 自動縮排 synta...