首页
论坛
课程
招聘
[推荐]最新驱动WDK7600在VC6.0下的编译开发配置环境(亲测)
2011-6-2 19:57 16132

[推荐]最新驱动WDK7600在VC6.0下的编译开发配置环境(亲测)

2011-6-2 19:57
16132
网上找了很多资料,都不好使。相信有很多像我一样偏好VC6.0的家伙,最新的WDK真的用不了么?必须可以!!!

    开始之前要一定要明确一件事情,单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关系,而使用VC的唯一目的,就是把它当作超级记事本,这样可以省去自己维护Makefile的麻烦,并且拥有IDE的其他各种便捷。

1.安装好VC6和DWK,先后顺序无关。
    从开始菜单找到WDK的程序目录,进入“Windows XP Checked Build Environment”,输入命令"build",此时WDK将会把自己进行编译,大约需要1分钟。

2.VC6设置Include/Lib/Executable目录。
    设置为自己需要编译的平台的各个目录即可, Include要确保找到ntddk.h等,Lib与Include对应,Executable 要确保能找到cl.exe
例如XP平台下设置为:

include包含部分:

C:\WinDDK\7600.16385.1\inc\ddk
C:\WinDDK\7600.16385.1\inc\api
C:\WinDDK\7600.16385.1\inc\crt

lib连接库包含部分:

C:\WINDDK\7600.16385.1\LIB\WXP\I386
C:\WINDDK\7600.16385.1\LIB\WIN7\I386

执行文件包含:

C:\WINDDK\7600.16385.1\BIN
C:\WINDDK\7600.16385.1\BIN\X86
C:\WinDDK\7600.16385.1\bin\x86\x86

对于VC原有的路径,Include 和 Lib建议都删除掉,而Executable则将你新加的置顶,顺序不能错。其余建议保留(虽然编译驱动不会使用VC的Bin目录下的ml.exe、link.exe 等,但vc的代码提示等功能是需要bin目录下的一些程序来完成的,因此还是至少要保留VC原有的Bin目录,但必须在DDK的之后)。

3.建立一个空工程,Exe或者Dll都可以,然后直接修改工程属性:

要改的地方不少,描述各个选项还不如直接记录个文本的,清空C/C++和Link下面的Option文本框,按下面的填写。

C/C++ 选项填写:
/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

LINK 选项填写:
    NT式驱动为
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" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078

    WDM式驱动为

wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"SYS_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"SYS_Check/HelloWDM.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078

4.保存配置,现在给这个空工程建一个c文件,复制以下内容:

#include <ntddk.h>
NTSTATUS DriverEntry(
        IN PDRIVER_OBJECT DriverObject,
        IN PUNICODE_STRING RegistryPath
        )
{
        NTSTATUS status = STATUS_UNSUCCESSFUL;
        return status;
}   

编译通过则配置成功!!!

[招聘] 欢迎你加入看雪团队!

收藏
点赞0
打赏
分享
最新回复 (14)
雪    币: 643
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
StudyRush 活跃值 3 2011-6-2 20:22
2
0
够给力啊。如果做个自动化工具也行。
雪    币: 1696
活跃值: 活跃值 (225)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
zhouws 活跃值 2 2011-6-2 20:27
3
0
我也喜欢VC IDE。但都懒得配置

一般是写完后,开build env 然后build命令
雪    币: 364
活跃值: 活跃值 (47)
能力值: (RANK:110 )
在线值:
发帖
回帖
粉丝
wingdbg 活跃值 2 2011-6-2 20:30
4
0
这个其实不难,就是把配置正确的工程里的dsw、dsp等文件捆起来,用户输入工程名,替换一下然后释放这些文件就OK。

要不你实现一下?
雪    币: 1644
活跃值: 活跃值 (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yodamaster 活跃值 2011-6-2 22:01
5
0
支持一下。。。。。。
雪    币: 210
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wxjbw 活跃值 2011-6-7 23:54
6
0
WDK的编译连接根vc一样都是靠nmake.exe完成。所以“单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关系”这句话让人误解:WDK有专门的编译器,WDK安装目录下的编译器除了编译驱动程序 同样可以编译应用程序。
雪    币: 364
活跃值: 活跃值 (47)
能力值: (RANK:110 )
在线值:
发帖
回帖
粉丝
wingdbg 活跃值 2 2011-6-8 16:25
7
0
兄弟你说的是,才发现wdk也可以编译exe
雪    币: 321
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pandaforum 活跃值 2011-6-8 17:11
8
0
hehe devcon不就是可以用wdk编译的么
雪    币: 129
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yboy 活跃值 2011-6-8 18:02
9
0
讲得好细啊。
雪    币: 58
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sahikaru 活跃值 2011-6-8 22:22
10
0
这样如果想写C的话 还要改回来吗?如果这样的话 不是很麻烦?
雪    币: 364
活跃值: 活跃值 (47)
能力值: (RANK:110 )
在线值:
发帖
回帖
粉丝
wingdbg 活跃值 2 2011-6-12 21:11
11
0
写C也可以直接用WDK编译。只是用到MFC时可能会有一些问题。
雪    币: 30
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caiv 活跃值 2011-6-23 13:28
12
0
那是不是每次新建一个工程就要改一次c/c++和link选项?
雪    币: 9
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Rolbinal 活跃值 2011-6-29 07:53
13
0
不用新建,直接复制工程不就行了
雪    币: 70
活跃值: 活跃值 (36)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
Nisy 活跃值 5 2011-6-29 10:53
14
0
UP~ 感谢分享 ~
雪    币: 276
活跃值: 活跃值 (15)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
淡定疯着 活跃值 2012-10-25 19:36
15
0
楼主,我安装完,以后按你说的,
1.安装好VC6和DWK,先后顺序无关。
"    从开始菜单找到WDK的程序目录,进入“Windows XP Checked Build Environment”,输入命令"build",此时WDK将会把自己进行编译,大约需要1分钟。 "

提示好几个错误,该怎么解决呀
游客
登录 | 注册 方可回帖
返回