lyndll
驱动牛犊
驱动牛犊
  • 注册日期2009-02-14
  • 最后登录2010-05-04
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分1分
阅读:7908回复:26

VS2005驱动开发的环境配置--无需ddkwizard

楼主#
更多 发布于:2009-02-14 23:06
小弟是刚刚接触  windows-驱动开发,正所谓万事开头难,自己参照《windows驱动开发技术详解》、在网上收集一些资料,终于在VS2005成功配置开发环境。
        网上大多讲述的是 VC6.0 还有就是利用 ddkwizard 插件配置环境,VC6.0的配置跟VS2005还是有很大不同的,又因为是初学者觉得用
 ddkwizard 帮助我们做了很多工作,不利于学习。所以自己一步步在VS2005配置。在这里列出仅供参考:

              预备工作:
1、安装了DDK(呵呵,说句废话)。目录名字最好不要带空格;
2、在VS2005中选择  “生成”|“配置管理器”   ---在活动解决方案配置中 新建一个方案名(不要Debug、Release);
3、选择 ”工具“|”选项“菜单  选择”项目和解决方案“ 选项卡,选择“VC++目录”选项卡   在”显示以下内容的目录“下拉菜单中选择”包含文件“菜单 添加”C:\WinDDK\6001.18002\inc\ddk“和
"C:\WinDDK\6001.18002\inc\api" 选择”库文件“菜单添加”C:\WinDDK\6001.18002\lib\wxp\i386“

接下来就是工程配置属性项
4、选择”项目“|”属性“ 弹出”属性页“对话框   选择”配置 属性“选项卡   选择“C/C++”选项卡  
      4.1、再选择”常规“选项卡
                     1、”调试信息格式“   选择  C7兼容(/Z7) 用Z7模式产生调试信息
                     2、取消显示启动版权标志   选择    是(/nologo)  (默认)
                    3、警告等级  选择    3 级(/W3)
                     4、将警告视为错误    选择   是(/WX)
     4.2、选择”优化“选项卡
                     1、优化    选择   禁用(/Od)
                        其他默认即可
     4.3    选择”预处理器“选项卡
                     1、预处理定义   编辑   WIN32=100;_X86_=1;DBG=1        (WINVER=0x500,是因为你是for 2K的。XP的是0x501,不过不用写,反正不用VC6了,写了反而编译不能通过。)
                       其他默认即可
     4.4    选择”高级“ 选项卡
                       1、调用约定  选择  __stdcall (/Gz)    (这个不用说了驱动函数调用采用标准调用”)


5、 好了,轮到”连接器“ 选项卡了
          5.1  选择”常规“选项卡
                 1、输出文件     编辑     MyDriver_Check/HelloDDK.sys
                2、启用增量链接  选择     否(/INCREMENTAL:NO)
                3、附加库目录  编辑  C:\WinDDK\6001.18002\lib\wxp\i386    (因为等下要用到ntosknl.lib   如果是WDM驱动程序,则需要链接wdm.lib)
                  其他选项默认
          5.2  选择“输入"选项卡
                 1、附加依赖项    编辑  弹出  ”附加依赖项    “  编辑框   编辑   ntoskrnl.lib   复选框”从父级或项目默认设置继承“  的勾  去掉    (免得 调用 用户层 lib 文件)
                 2、忽略所有默认库  选择    是(/NODEFAULTLIB)
                    其他选项默认
          5.3  选择”调试“选项卡
                   1、生成调试信息  选择   是(/DEBUG)
                   2、生成程序数据库文件   编辑    MyDriver_Check/HelloDDK.pdb
          5.4   选择”系统“ 选项卡
                   1、子系统    选择   本机(/SUBSYSTEM:NATIVE)
                   2、堆栈保留大小  编辑  40000
                   3、 堆栈提交大小  编辑  1000
                   4、驱动程序        选择    驱动程序(/DRIVER)
          5.5   选择”高级“ 选项卡
                  1、入口点   编辑    DriverEntry    (驱动的入口函数地址)
                  2、基址    编辑    0x10000
                  3、 目标计算机    MachineX86 (/MACHINE:X86)     (一般是这个)

附:使用的ddk 为:wdk  6001.18002  用得是wxp 链接库

这是 偶今天 从书中还有网上的资料 总结下来 的 编译驱动程序 可以编译通过 ,
希望对初学者有所帮助、也帮助自己以后有个参考 ,  不当之处 请指正



  
qxd10000qxd
驱动牛犊
驱动牛犊
  • 注册日期2009-02-20
  • 最后登录2009-02-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-02-20 22:55
学习
kingcf11
驱动牛犊
驱动牛犊
  • 注册日期2008-10-09
  • 最后登录2014-09-25
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-04-29 11:03
谢谢分享~!!!!!!!
wgh1993
驱动牛犊
驱动牛犊
  • 注册日期2009-06-25
  • 最后登录2009-06-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-06-25 15:03
回 楼主(lyndll) 的帖子
辛苦了。我正好需要。
youstar
驱动牛犊
驱动牛犊
  • 注册日期2009-05-10
  • 最后登录2010-01-25
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-06-28 12:43
支持下!
http:// www.youstar.org.ru
Tr0j4n
驱动牛犊
驱动牛犊
  • 注册日期2009-06-12
  • 最后登录2010-06-29
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-06-29 18:49
呵呵。支持下
flyonearth
驱动中牛
驱动中牛
  • 注册日期2002-12-25
  • 最后登录2009-07-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望30点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-07-01 10:18
支持一下
wulmg
驱动牛犊
驱动牛犊
  • 注册日期2006-09-14
  • 最后登录2009-10-26
  • 粉丝0
  • 关注0
  • 积分88分
  • 威望89点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2009-07-02 18:59
谢谢分享~!!!!!!!
lal978112
驱动牛犊
驱动牛犊
  • 注册日期2008-10-11
  • 最后登录2010-11-12
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2009-07-07 14:44
辛苦了,谢谢
f74108
驱动牛犊
驱动牛犊
  • 注册日期2008-10-30
  • 最后登录2011-04-04
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望25点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2009-07-17 11:53
辛苦了 兄弟 非常感谢
爱拼才会赢
legendmoon
驱动牛犊
驱动牛犊
  • 注册日期2009-06-17
  • 最后登录2010-04-14
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2009-08-07 13:10
好东西,顶
bengol
驱动牛犊
驱动牛犊
  • 注册日期2009-08-17
  • 最后登录2011-03-23
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2009-08-17 17:14
赞美楼主
popeylj
驱动牛犊
驱动牛犊
  • 注册日期2009-06-10
  • 最后登录2011-03-01
  • 粉丝0
  • 关注0
  • 积分98分
  • 威望121点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分1分
12楼#
发布于:2009-09-13 16:44
简单的,才是最好的
xinjie1023
驱动牛犊
驱动牛犊
  • 注册日期2008-06-29
  • 最后登录2010-05-26
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望201点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2009-09-26 21:04
学习
suplxun
驱动牛犊
驱动牛犊
  • 注册日期2009-07-16
  • 最后登录2010-03-24
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2009-09-27 16:18
学习,自己再在vs2008里试试~
hclin
驱动牛犊
驱动牛犊
  • 注册日期2004-09-09
  • 最后登录2012-12-05
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望345点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2009-10-12 11:21
very good !
recommend strongly
jiangniao1
驱动牛犊
驱动牛犊
  • 注册日期2009-10-11
  • 最后登录2012-07-25
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望141点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2009-10-16 20:26
学习
jiangniao1
驱动牛犊
驱动牛犊
  • 注册日期2009-10-11
  • 最后登录2012-07-25
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望141点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2009-11-19 12:38
谢谢楼主
h25094152
驱动牛犊
驱动牛犊
  • 注册日期2009-11-19
  • 最后登录2009-11-27
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2009-11-27 10:59
弄了半天也没弄上汗哦.
自强不息,厚德载物.
hustsolo
驱动牛犊
驱动牛犊
  • 注册日期2009-06-02
  • 最后登录2012-12-04
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2009-12-07 09:26
非常好,我一开始的时候弄了好长时间,而且之后还不知道什么原理
上一页
游客

返回顶部