首页
社区
课程
招聘
[讨论]驱动环境的疑惑....需要这么麻烦吗?
发表于: 2009-1-19 07:53 6583

[讨论]驱动环境的疑惑....需要这么麻烦吗?

2009-1-19 07:53
6583
首先去微软官方下载DDK开发包,我下的WIN 2003的DDK,里面附带了2000、XP和2003的

另外我已经安装了VC 6.0了,在装DDK之前务必先装VC(准备用VC写的话),前辈的经验谨记于心~
谁觉得自己很牛的话记事本写应该也可以。。自己每次打命令不嫌累的话。。。

创建一个目录DriverEnv(目录名随意),在该目录下创建一个批处理文件MakeDrvr.bat,内容如下:

@echo off
if "%1"=="" goto usage
if "%3"=="" goto usage
if not exist %1\bin\setenv.bat goto usage
call %1\bin\setenv %1 %4
%2

cd %3
build -b -w %5 %6 %7 %8 %9

goto exit

:usage
echo usage MakeDrvr DDK_dir Driver_Drive Driver_Dir free/checked [build_options]echo eg MakeDrvr %%DDKROOT%% C: %%WDMBOOK%% free -cef
:exit

解释一下:

1% 是DDK_dir,也就是ddk的安装目录

2% 是Driver_Drive,是你工作目录所在的盘符,例如我的工程在G盘的话就写G:

3% 是Driver_Dir,是你工作目录的路径,这里是G:\FirstSys

4% 是编译模式,checked表示调试模式,free表示发行模式。

该批处理首先对传递的参数作一些检查,然后调用ddk的setenv命令设置环境变量,然后改变目录为源程序所在驱动器和目录,并最后调用build,-b保证显示完全的错误信息,-w保证在屏幕上输出警告,在vc ide里的output窗口中可以看到这些错误和警告。

MakeDrvr.bat在DriverEnv目录,所以应把该目录添加到VC的Executable files里面选tools的options菜单项,然后选directories页,在show directories for一栏选择Executable files,然后添加

接下来可以用VC开发驱动了

新建一个MAKEFILE的工程,一路next,完成。然后再VC的Project->settings里面改变设置(我用的中文版,就是工程->设置)

修改这两种配置
=============================================================
Release
=============================================================
build command line(创建命令行):
MakeDrvr D:\WINDDK\3790.1830 G: G:\FirstSys free

rebuild all opinions(重建全部选项):
-nmake /a

output filename(输出文件名):
FirstSys.sys

browse info file name(浏览信息文件名):
FirstSys.bsc

=============================================================
Debug
=============================================================
build command line(创建命令行):
MakeDrvr D:\WINDDK\3790.1830 G: G:\FirstSys checked

rebuild all opinions(重建全部选项):
-nmake /a

output filename(输出文件名):
FirstSys.sys

browse info file name(浏览信息文件名):
FirstSys.bsc

新建一makefile(注意没有后缀)放入源程序目录,其内容总是
#
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
# file to this component. This file merely indirects to the real make file
# that is shared by all the driver components of the Windows NT DDK
#

!INCLUDE $(NTMAKEENV)\makefile.def

再建立一文件Sources放入源程序目录,内容为
  TARGETNAME=FirstSys   //这是要生成的驱动程序.sys文件的名字
  TARGETPATH=. //.sys文件所在目录的上层目录
  TARGETTYPE=DRIVER //驱动程序的类型,一般不变
  INCLUDES=$(BASEDIR)\inc //ddk包含文件路径,一般不变(根据实践这句可以省去)
  SOURCES=FirstSys.c //源文件(不要头文件),资源文件
  BROWSER_INFO = 1 //若想要浏览信息,则要有本行;否则可无

一般只要以下4行就可以了:
TARGETNAME=FirstSys
TARGETPATH=.
TARGETTYPE=DRIVER
SOURCES=FirstSys.c

在FirstSys.c里写上代码后F7编译吧,然后会在工程目录下的I386文件夹得到编译的sys文件

总结一下,不要网上拿来不动脑经就全抄,我又上过当了。。创建命令行里按照网上抄的填了
MakeDrvr DDK_DIR SOURCE_DRIVE SOURCE_DIR free [build options]
结果发现被忽悠了,本来还以为是通用的配置呢。。写文章的没写清楚,抄的人可能有些自己都没看过吧

VC6

我想请问 。 直接把   build.bat  放到。工程目录

然后setting里面设置   build chk  or fre
不照样 可以吗???

需要这么麻烦吗??

还是说 直接这样,有些 东西会被忽略???

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不需要这么麻烦,能编译成功就行
2009-1-19 09:33
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
应该挺简单的吧   !
2009-1-19 12:01
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
配置一下vc的设置就好,什么makefile,bat,都可以不用
2009-1-20 09:22
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
楼上厉害…偷懒就用EasySys,包你满意
2009-1-20 14:05
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
向来是直接用VS写源代码,然后开始-程序-Development Kit,开始YY起
2009-1-20 16:54
0
雪    币: 362
活跃值: (25)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
《WINDOWS驱动技术开发详解》里面有详细的VC编译环境设置方案,楼主可以买本来看看。
2009-1-21 09:47
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
8
easysys 多么好用啊
2009-1-21 12:31
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
9
这本书就是垃圾啊。 该书作者到某公司面试,被成功BS。。。
2009-1-21 12:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
直接vs编辑,然后命令行编译不是很好?何必呢......
2009-1-21 18:19
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
用IDE的话 肯定要设置一下的 比较类似于JAVA的设置
DDK--》环境变量--》IDE配置  但是都是一劳永逸的事啊
2009-2-24 06:38
0
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
12
难道作者跳槽了
2009-2-24 18:01
0
雪    币: 121
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我买了这书。就看他的安装环境
没觉得很垃圾啊
入门还行吧
2009-2-25 21:43
0
雪    币: 2142
活跃值: (1967)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
14
做驱动目前还蛮流行的,驱动是正当非正当的行当居家必备之良品
2009-2-26 20:19
0
游客
登录 | 注册 方可回帖
返回
//