逆战空间站防空打法:VS2005驱动开发的环境配置--无需ddkwizard
来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 15:29:33
小弟是刚刚接触 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 链接库
这是 偶今天 从书中还有网上的资料 总结下来 的 编译驱动程序 可以编译通过 ,
希望对初学者有所帮助、也帮助自己以后有个参考 , 不当之处 请指正
网上大多讲述的是 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 链接库
这是 偶今天 从书中还有网上的资料 总结下来 的 编译驱动程序 可以编译通过 ,
希望对初学者有所帮助、也帮助自己以后有个参考 , 不当之处 请指正
VS2005驱动开发的环境配置--无需ddkwizard
VS2005驱动开发的环境配置--无需ddkwizard
VC6 Symbian开发环境配置
Eclipse下OpenGL开发环境配置
Eclipse开发J2ME环境安装及配置
Ubuntu下CodeBlock开发环境配置
windows XP 驱动开发环境搭建 - BugKing@Technology.g...
VC6 Symbian开发环境配置 - 海纳百川,有容乃大! - CSDN博客
Eclipse3.5 配置Aptana3.01 ruby on rails 开发环境
PHP开发环境配置(Zend Server安装)
linux下的触摸屏驱动开发
用户故事驱动的软件开发方法
VS2008环境下开发的某些程序在其他机器运行提示“由于应用程序配置不正确,应用程序未能启动”的问题(IIS)
Linux驱动开发方法论
驱动开发学习笔记
测试环境与开发环境分离的必要性
使用Python开发Android应用程序:第一节 在手机上配置Python运行环境
推荐几个c语言的开发环境
[OpenCV+C#]开发环境的搭建 cv
Linux驱动开发学习的一些必要步骤
系统分析师:业务架构驱动的需求开发
linux下的触摸屏驱动开发 - Qzone日志
vs2005与vs2008的转化
WinCE环境配置