VC6编译驱动的方法(含32和64位).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC6编译驱动的方法(含32和64位)

? VC6编译驱动的方法(含32和64位) 2009-04-07 10:58?2374人阅读?评论(2)?收藏?举报 ?转载时请以超链接形式标明文章原始出处和作者信息及本声明 /logshtml 本来用系统自带的build命令编译 后来发现Windows驱动开发技术详解上说用VC6可以编译,一直操作到了最后,一编译居然发现没有编译通过,于是在网上google了下,发现了别人的方法,看到中间的步骤就发现出问题来了,书中的是拿win2k的DDK做例子,可是装的XP的DDK是编译有问题的,晕,问题出在哪里呢?也就是Directories的Executable files应该把XP的DDK的Bin/X86目录添加进去,不然版本低了编译不了了,书上也没个提示.添加以后就编译成功了 ? ??VC6编译驱动的方法(含32和64位) /linuxpgy/archive/2008/05/11/2434572.aspx VC6只是一个IDE,可以方便的调用编译器,链接器,头文件,库文件,如果编辑和编译驱动能集成在一起,这样可以提高开发效率。 对于普通的Win32应用程序,VC6已经默认支持了,而对于驱动程序没有设定好的工程向导。其实驱动程序也就是一个sys,是通过c语言写成,所以编译它理论上没有问题,只是在实际操作上有点麻烦。 下面就来说明一下各种平台编译sys驱动的方法(包括64位平台) 先看32位版本驱动的编译方法,首先你得准备一些编译必备工具: 1.要安装VC6 2.安装DDK(装哪个呢?这个问题其实很简单的,只是很多人不明白,装DDK当然是越新越好了,越新支持的平台越多,像2000DDK你是绝对编译不出来64位sys的,因为它没带64位的库和编译器,所以我们选择现在最比较新的,2003DDK(WDK也可以),支持的平台很多,AMD64,IA64,2000,XP,2003都支持)。 好了,这下我们的系统已经安装了最强的开发工具VC6,最新DDK,在VC里编译各个平台的驱动都没有问题了! 开始,假设我们的DDK装在C:/2003DDK目录,那么我会发现里面有很多驱动的例子(安装的时候全选),我们选择C:/2003DDK/src/wdm/usb/bulkusb作为我们的实验范例。 第一步: 打开VC,建立一个Win32 Application工程,然后选择An empty Project(我用英文版的VC,建议你也换成英文版的),意思就是建立一个空的Win32工程,工程名字就叫bulkusb,点Finish. 第二步: 将C:/2003DDK/src/wdm/usb/bulkusb/sys(这里是驱动代码,另一个exe里是用户程序,不管它)里的所有文件拷贝到bulkusb工程目录下。然后把.h,.c,.rc 导入到VC里对应的目录里面去。 第三步: 然后就是开始设置工程选项,把这些代码编译成sys了。 要编译我们需要DDK,所以先要在vc的Tool-Options-Directories里设置一些路径给VC调用(设置基本原则:要保证下面所有设置的路径排在前面)。 设置Include路径: C:/2003DDK/INC C:/2003DDK/INC/CRT C:/2003DDK/INC/WNET C:/2003DDK/INC/DDK/WNET C:/2003DDK/INC/DDK/WDM/WNET 要按这样的顺序添加。注意这里的WNET目录了吗? 这就是2003最新头文件,其实选择wxp或者w2k目录也是可以的,只是wnet里的头文件最全,因为系统不断进步,有些新的api只有新的头文件里才有定义。当然最好是选择对应的头文件来编译对应系统的驱动,但是我试过用wnet编译的驱动在2000下也能用,因为我们一般用不到那些新添加的api.。 设置lib路径: C:/2003DDK/LIB C:/2003DDK/LIB/CRT/I386 C:/2003DDK/LIB/WNET/I386????? //wnet道理和上面一样 设置Executable File: C:/2003DDK/BIN/X86?? //这就是编译器的路径,包含cl.exe,link.exe的目录,由于我们要编译32位驱动,所以把这个添加进去,放在第一项。 总的来说,只要设置好Include,Lib和编译器,编译什么文件都没问题的,你也可以自己尝试安装最新的2003SDK,编译Win32应用程序成64位。 第四步: 开始进入工程设置,先设置C/C++,在Preprocesser definitions里输入如下字串: Release下输入: _X86_=1,i386=1,STD_CALL,WIN32=100,_WIN32_WINNT=0x0501,WINVER=0x0

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档