VC6.0 +WDK 开发驱动的环境配置[转]

简介:          在安装完VC6和WDK以后,就开始进行环境的配置了,可结果是弄了半个上午,还是搞不定。去网上找信息,关于WDK的,多是使用VS2005或VS2008的,有的要借助于DriverStudio之类的,按上面的方法来配置自己的工程看来不行。

         在安装完VC6和WDK以后,就开始进行环境的配置了,可结果是弄了半个上午,还是搞不定。去网上找信息,关于WDK的,多是使用VS2005或VS2008的,有的要借助于DriverStudio之类的,按上面的方法来配置自己的工程看来不行。于是就参考了别人写的VC6+DDK编译驱动的文章,终于成了,不过有些地方还是有点不一样的。在这里把不一样的地方写下来,以供大家参考。

         参考:http://blog.csdn.net/wzsy/archive/2009/04/07/4053632.aspx

(1)第一步:

           打开VC建立一个Win32 Application工程,然后选择An empty Project。

(2)第二步:

            随便找一个驱动程序,主要是.C,.h及rc资源文件,加入第一步建立的工程

(3)第三步:

           设置VC编译驱动的环境,这才是重点。

           打开VC的Tool->Options->Directories里设置Include,Lib,及Exectuable File。这里说明下为什么要设置这三个东西:Include目录中,主要是供我们开发使用的头文件.h文件;Lib目录,为我们驱动所要调用的一些链接库文件;Exectuable File,这个很重要,它里面包含了我们编译驱动所使用的Cl.exe及连接link.exe文件,VC正是通过这两个文件来生成最后的驱动.sys文件(如果编译出现cl.exe错误,说明是这里的路径设置的不正确,我先前在这里走了弯路了,所以提醒下)。

          设置Include路径:

           E:\WINDDK\6001.18002\INC

           E:\WINDDK\6001.18002\INC\CRT

          E:\WINDDK\6001.18002\INC\DDK

          E:\WINDDK\6001.18002\INC\API   (这里可能有些不需要,也可能少了,根据自己的情况在INC目录下继续添加就OK了)

         

           设置LIB路径:

            E:\WINDDK\6001.18002\LIB

            E:\WINDDK\6001.18002\LIB\CRT\I386

            E:\WINDDK\6001.18002\LIB\WNET\I386

            设置Executable Files:

            E:\WINDDK\6001.18002\bin\x86\x86

           (这里要注意,一定要在bin\x86目录下,确切的找到Cl.exe文件,然后添加它所在的目录,DDK与WDK这个文件所在的路径并不是一样的,上面的是我所安装的WDK中cl.exe所在的路径,这里要根据不同情况选择正确的路径)

(4)第四步:

           这里要设置工程的属性:

            打开VC->Project菜单,找到C/C++选项卡,在Preprocesser definitions里输入如下字符串:

           Release下输入:
           _X86_=1,i386=1,STD_CALL,WIN32=100,_WIN32_WINNT=0x0501,WINVER=0x0501,NDEBUG
           Debug下输入:

          _X86_=1,i386=1,STD_CALL,WIN32=100,_WIN32_WINNT=0x0501,WINVER=0x0501,_DEBUG

          在Code Generation里的Calling convention用_STDCALL

         Debug版有个特殊编译选项 /GZ (注意是大写的,小写的不要删!)删掉,否则有链接错误,chkesp链接 不上什么的。

(5)第五步:

         设置link选项卡,将输出文件名改为sys扩展名,

          在General的Objcet/Library modules,填写驱动调用的几个lib:

           ntoskrnl.lib hal.lib usbd.lib wmilib.lib。


          然后进入Output在Entry-point symbol:填DriverEntry
          下面就是往Project Options手动增加一些链接选项,复制如下进去:
          /machine:IX86 /driver /subsystem:native /SECTION:INIT,d /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221
          删除如下选项:
         /subsystem:windows
         /machine代表目标机器类型,/driver代表驱动,/subsystem:native 也是代表驱动。

(这里,我在配置的时候,只是将/subsystem:windows改为:/subsystem:native没有再进行其它设置,也可成功生成驱动文件,至于有没有问题,暂时不知道)

目录
相关文章
|
机器学习/深度学习 数据采集 算法
回归算法全解析!一文读懂机器学习中的回归模型
回归算法全解析!一文读懂机器学习中的回归模型
1334 0
|
11月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
17678 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
机器学习/深度学习 存储 资源调度
【机器学习实战】10分钟学会Python怎么用SVD奇异值分解进行降维分类(八)
【机器学习实战】10分钟学会Python怎么用SVD奇异值分解进行降维分类(八)
1223 1
|
Windows
5、Windows驱动开发技术详解笔记(1) 入门基础-驱动程序结构
NT式 1、Driver.h头文件中包含了开发NT式驱动所需要的NTDDK.h,此外还定义了几个标志来指明函数和变量分配在分页内存还是非分页内存中。Windows驱动程序的入口函数是DriverEntry函数。
1339 0
|
6天前
|
人工智能 运维 安全
|
4天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
522 14
|
11天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
891 109