在《windows驱动开发技术详解》中作者提供了两种调式内核程序的方法,有两种编译驱动的办法,一种是用DDK环境来编译,需要在源代码所在目录下创建两个文件makefile和Sources,另一种为vc搭配DDK使用,但不需要写makefile和source文件,

第一种 DDK环境来编译

写好文件,在开始菜单中选择“Windows XP Checked Build Environment”编译环境,用cd命令进入需要编译的目录,输入”build“命令就可以,编译后的驱动位于objchk_wxp_x86"i386目录下,名为HelloDDK.sys

第二种编译方式是使用VC++进行编译

1,用vc新建工程。在"project"选项卡中,选择win32 Application,选择一个空的工程。
2,将两个源文件Driver.h和Driver.cpp拷贝到工程目录中,并添加到工程中。
3,增加新的编译版本,去掉Debug 和Release 版本,增加一个Win32 Driver Check Edition

4,修改工程属性。选择"Project|Setting",或者直接按下Alt+F7键,弹出"Project Settings"。在对话框中,选择“General”选项卡。将Intermediate files和Output files都改为MyDriver_Check.
5,选择C/C++选项卡,将原有的Project Options 内容全部删除替换成如下内容:
 /nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c

6,选择Link选项卡,将原有的Project Options 内容全部删除,替换成如下内容
 ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078

7。修改VC的lib目录和include目录。

在vc中选择"Tools"|"Options",在弹出的对话框中选择“Directories”选项卡。在“Show directories for”下拉菜单中选择“Include files”菜单,添加
D:/WINDDK/3790.1830/INC/W2K
D:/WINDDK/3790.1830/INC/DDK/W2K
并将这两个目录置于最上。

在"Show directories for "下拉菜单中选择“Library files”菜单,添加目录
D:/WINDDK/3790.1830/LIB/W2K/I386
并置于最上端。
8,按照书上所述的步骤做完后编译,会报错如下:
fatal error C1083: Cannot open include file: 'specstrings.h': No such file or directory

原因是include目录设置没完整,加入如下目录既可以正确编译
D:/WINDDK/3790.1830/INC/CRT

当然,以上设置为调式NT式的驱动程序,如果你调式WDM式的驱动程序,vc会提示找不到WDM.H头文件,这是我们应该在

在vc中选择"Tools"|"Options",在弹出的对话框中选择“Directories”选项卡。在“Show directories for”下拉菜单中选择“Include files”菜单,添加
D:/WINDDK/3790.1830/inc/ddk/wdm/w2k

这时再摁F7,你就会发现程序就正常执行了,终于解决了这个小问题。。

舒服、、、、、

windows驱动开发技术详解 VC6与DDK搭配使用的设置相关推荐

  1. 9、Windows驱动开发技术详解笔记(5) 基本语法回顾

    5.在驱动中获取系统时间 1)获取启动毫秒数 在ring3 我们可以通过一个GetTickCount 函数来获得自系统启动开始的毫秒数,在ring0也有一个与之对应的KeQueryTickCount ...

  2. 15、Windows驱动开发技术详解笔记(11) 基本概念

    9.Windows驱动程序的入口函数规定为_DriverEntry@8,所以用C++编写时要用extern. 驱动程序中,不能使用编译器运行时函数,甚至C语言中的malloc,C++的new函数都不能 ...

  3. 《Windows驱动开发技术详解》学习笔记

    Abstract   如果推荐 Windows 驱动开发的入门书,我强烈推荐<Windows驱动开发技术详解>.但是由于成书的时间较早,该书中提到的很多工具和环境都已不可用或找不到,而本文 ...

  4. c语言windows驱动编程入门,Windows驱动开发技术详解 PDF扫描版[175MB]

    Windows驱动开发技术详解由浅入深.循序渐进地介绍了windows驱动程序的开发方法与调试技巧.本书共分23章,内容涵盖了windows操作系统的基本原理.nt驱动程序与wdm驱动程序的构造.驱动 ...

  5. 《Windows驱动开发技术详解》读书笔记(一)

    首先需要安装DDK,这里我选择Microsoft Windows Server 2003 SP1 DDK Windows驱动分成两类,一类是不支持即插即用的NT式驱动,一类是支持即插即用的WDM驱动. ...

  6. 《Windows驱动开发技术详解》之HelloDDK

    编写如下代码: 运行会报错: 这里的原因是有没有引用到的形参,需要添加如下代码即可: 记得在系统启动时按F8禁用掉数字签名: 将编译好的驱动拖入虚拟机,以管理员身份运行DbgView捕捉内核态输出数据 ...

  7. Windows驱动开发技术详解笔记

    EdwardLewisWe的博客--windows内核编程 转载于:https://www.cnblogs.com/forlina/archive/2011/08/11/2134718.html

  8. 《Windows驱动开发技术详解》之编程加载NT式驱动

    之前我们加载驱动都是利用INSTDRV这个应用,其原理是在注册表中写入相应的字段,这一节我们手动编写代码去加载驱动,其原理类似: 设备驱动程序的动态加载主要由服务控制管理程序(Service Cont ...

  9. windows驱动开发资料(《windows驱动开发技术详解》)+源码

    链接:https://pan.baidu.com/s/1db1sEsIMf3YWuxQ090ih_g 提取码:m4lz

  10. mfc编程vc6.0实现进程的创建和通信_免费送书:windows黑客编程技术详解

    01 书怎么送 点赞并留言,关注在下面的公众号后台回复「抽奖」,弹出小程序后点击参与. 开奖时间是 7 月 7 号 20:00 ,一定要留意微信消息,如果你中奖了,请尽快在中奖页面提交收件人信息并备注 ...

最新文章

  1. 如何获取boss直聘搜索牛人被屏蔽的姓名
  2. PyCairo 后端
  3. 上海师范大学计算机作业网址,新SQL——SERVER实验练习答案.doc
  4. 进程管理程序java,运维经验分享(四)--关于 java进程管理的服务控制脚本编程思路分析...
  5. ZAP-Queries(洛谷-P3455)
  6. 快速获得数据库连接字符串的小窍门
  7. 怎么在台式计算机上写文件,怎样直接在台式电脑和笔记本电脑之间实现文件传输...
  8. Python之数据分析(Numpy的子模块:线性代数模块linalg、傅里叶变换模块fft)
  9. DC漫画公司正在考虑进军NFT市场
  10. 【转】简明 Python 教程
  11. Mac SnailSVN不显示状态图标
  12. 武汉大学计算机学院期末考试安排,【通知】关于2019-2020学年第一学期期末考试工作安排的通知...
  13. ubuntu22.04LTS 外接hdmi没有声音
  14. 【跨境电商平台】Magento VS Shopify,选谁进行独立站建站?
  15. C. NEKO's Maze Game
  16. 医学四视图-007-增加按钮,增加文档提示
  17. 电力系统仿真软件python_PySpice: 使用ngspice进行电路仿真分析-1:安装
  18. 使用react 写一个 仿淘宝 图片放大镜效果
  19. 萌新浅谈DHCP以及ospf
  20. 【uni-app】errMsg : navigateTo:fail can not navigateTo a tabbar page报错解决方案

热门文章

  1. [整理]充分发挥FireWork功能,实现超酷多级下拉菜单,爆强!
  2. (20191123)matlab绘制指定数值的等高线并添加标注+Matlab绘制平行x或y轴或任意直线
  3. 阿里云服务器加快下载github
  4. 微搭低代码入门教程04
  5. 淘宝虚拟物品类目管理规范
  6. ubuntu安装tim
  7. 灰色系统预测matlab代码,灰色预测MATLAB代码
  8. 记录用HDFview和Panoply软件打开nc文件
  9. 微波雷达传感器模块,人体感应雷达应用,让智能家居更安全
  10. 【UX/UI原型模板】中国地图元件库操作说明(省份+直辖市+自治区+行政特区详细地图)