英国男人都帅么:VS2005驱动开发的环境配置--无需ddkwizard

来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 04:35:59
网上大多讲述的是 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 链接库

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