搭建驱动编译环境 DKWizard+WinDDK+VS2005.docVIP

  • 5
  • 0
  • 约2.36千字
  • 约 6页
  • 2016-09-01 发布于贵州
  • 举报
搭建驱动编译环境DKWizardWinDDKVS2005

VS2005 + DDK + DDKWizard 环境的配置 为什么需要这些软件 相信大家都用过VC开发过应用程序,VC屏蔽了一些编译程序方面的繁琐的细节,给我们提供了一个方便快捷的编程环境。如果还要使用SDK开发程序,那么只需要安装SDK,并使用SDK程序里自带的环境注册工具就能自动配置VC的相关参数,我们同样不需要关心太多东西,只需要关注怎么编程即可。很遗憾,如果想写驱动,就不是这么容易了 - -||,但搭建编程平台、让初学者成功编译并执行一个驱动程序是非常重要的,有不少初学者就是因为花了好几个小时都不能编译出驱动,而放弃Windows驱动编程的学习。其实搭建驱动编程环境并不难,只要按照特定步骤做即可完成。0.0 开发Windows驱动程序需要微软提供的DDK(Driver Development Kit)开发包,因为编译DDK程序需要特殊的编译程序,不能使用VC自带的编译程序,而且驱动程序的“工程参数”跟普通WIN32工程有很大的不同,以上这些原因可能就是微软不把DDK环境集成到VC中的原因。DDK开发包里面有编译驱动所需的头文件、库文件、编译程序、参考文档等相关文件,所以理论上编译驱动程序只需要“记事本 + DDK”就能写驱动了(至于用起来多蛋疼可想而知 - -)。我们真正需要的是!!驱动工程向导!!,而不是命令行和记事本(真懒啊 - -||)。 网上有两种驱动开发环境,一种是DriverStudio,另一种就是DDKWizard。这两款软件都提供驱动工程的工程向导,但前者和VC的接合度不高,所以在此我们选择DDKWizard作为驱动开发的向导工具。可能会有人问,VC6体积小、速度快,为什么偏要用VS2005?额…原因是DDKWizard不兼容VC6 - -||。综上所述,我们一共需要4款软件: Visual Studio 2005(集成开发环境) Driver Development Kit (编译驱动程序的核心全在这里了 - -) DDKWizard(需到/ 下载4个文件:ddkwizard_setup.exe、ddkbuild_bat.zip、ddkbuild_cmd.zip、ddkwiz_manual.pdf) Visual Assist X(编程时不可多得的好工具,能自动提示函数名、变量名以及函数参数等)(还是懒 - -) 具体步骤 安装VS2005 图表 1 安装VS2005 安装DDK(我的目录是D:\WINDDK) 图表 2 安装DDK 安装DDKWizard 安装DDKWizard并将ddkbuild.bat 和 ddkbuild.cmd 拷贝到DDK安装根目录。C:/WinDDK 图表 3 安装DDKWizard 配置DDKWizard环境变量 使用DDKWizard前,我们需要配置环境变量让DDKWizard知道DDK安装文件在磁盘中的位置。这个环境变量的名字跟DDK的版本有关:2000 DDK的变量名是W2KBASE、XP DDK的变量名是 WXPBASE、2003 sp1 DDK的变量名应该是WNETBASE;而变量的值跟DDK版本无关,统一指向DDK安装目录。 我安装的恰好是XP DDK,并且安装在D:\WinDDK,所以环境变量的配置应该是 WXPBASE = D:\WinDDK\2600 图表 4 配置XP DDK对应的DDKWizard环境变量 配置VS2005文件包含选项 工具-选项-项目和解决方案-VC++目录-可执行文件:添加DDK的根目录,并且将其已移动到最顶端。 (例如我的是D:\WinDDK) 图表 5 给VS2005添加DDK的可执行文件目录 工具-选项-项目和解决方案-VC++目录-库文件:添加DDK的链接库,并且将其移动到最顶端。 (我的是D:\WinDDK\2600\lib\wxp\i386) 图表 6 给VS2005添加相关库文件目录 新建驱动工程注意事项 到此,我们就可以在VS2005中建立驱动项目了。启动VS2005并建立新项目,可以看到在Visual C++条目下增加了“DDK Project”选项,这就是建立驱动时需要用到的“工程向导”。 图表 7 VS2005中新加入的DDK Project工程向导 并且要注意在新建Driver Object的时候,不要勾选“Create PREfast configuration”选项。 图表 8 选择相应DDK并且不勾选“Create PREfast configuration”选项 修改SOURCE文件 这是编译前的最后一步了。工程建立后,工程目录下会自动添加一个名为“source”的文件,里面会有如下代码,我们需要对其进行修改。 # $Id$ TARGETNAME=EmptyDr

文档评论(0)

1亿VIP精品文档

相关文档