BaoFu
驱动小牛
驱动小牛
  • 注册日期2002-10-07
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:3542回复:20

如何每次只编译一个特定的ddk中的例子?

楼主#
更多 发布于:2003-04-24 07:09
我是刚开始学驱动,用win xp家庭版。且有VC5。下载win 2k的ddk并成功安装在D:驱动器上,文件夹名称为NTDDK。
   在win xp的开始菜单中,找到windows2000ddk->Checked Build Environment。点击这一项,出现了命令行窗口,输入Build -clZ命令,回车。显示的提示很长,好像是将src目录下的所有例子都进行了编译。这不符合我的愿望,我是想每次只编译其中的一个例子。如何才能做到呢?

最新喜欢:

xiaonanguaxiaona...
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
沙发#
发布于:2003-04-24 08:30
你要有 sources 这file
我的内容如下,可参考一下 !!

TARGETNAME=mydriver
TARGETTYPE=DRIVER
TARGETPATH=OBJ

INCLUDES=$(BASEDIR)\\inc\\ddk;\\
   $(BASEDIR)\\inc

TARGETLIBS=$(BASEDIR)\\libfre\\i386\\kernel32.lib \\
  $(BASEDIR)\\libfre\\i386\\ntoskrnl.lib \\
  $(BASEDIR)\\libfre\\i386\\hal.lib  
  
SOURCES=mydriver.c
BaoFu
驱动小牛
驱动小牛
  • 注册日期2002-10-07
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-04 21:55
遇到这个问题后,我狠劲看书,从DDK英文文档中看到一些蛛丝马迹,自以为已经找到解答,先贴在这里,盼高手指点。
用build命令编译的时候,需要几个文件与之配合:1、对编译环境的设置需要用一个批处理文件setenv.bat。如果你熟悉dos的话,可以用记事本打开这个文件来看看,研究一下。2、包含驱动源文件的目录之下,还应当有一个名字为sources的文件(注意,这个文件没有扩展名),顾名思义,这是文件来源--文件中列出的是所有需要编译连接的文件名称。3、当编译的文件分散在多个目录中的时候,还需要有一个dirs的文件(也是一个不用扩展名的文件)来告诉编译程序源文件所在的目录。特别地,如果子目录下还有更低级的子目录,这些地方也需要有dirs文件---也就是说,每个目录节点处,都要有一个dirs文件。
    现在再来讨论我遇到的问题就好解释了:DDK包含例子程序的是src目录,我已经察看过:src目录下确有dirs文件,之下的每个子目录中也是如此。一个连一个,就这样把本不想编译的例子也编译了。
    
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-05-04 22:08
大家都象你这样的话,提问的就会少很多了 :D
值得学习呀 :D
BaoFu
驱动小牛
驱动小牛
  • 注册日期2002-10-07
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-05 07:01
学习笔记:贴在这里为加深记忆,更为盼高手指点:
dirs文件的作用在于告诉编译(连接)器:需要编译连接的源文件都位于哪些目录之下。其内容是用所谓“宏”构成的,用记事本就可以打开,我在自己的机器上打开src目录下的dirs文件,里面其实如下面所列:
DIRS= \\
     debugging \\
     wdm \\
     audio \\
     kernel \\
     general \\
     setup \\
     storage \\
     ime \\
     input \\
     network \\
     print \\
     smartcrd \\
     vdd \\
     video \\
     preview
可见,列出的目录名称与src目录下的每个子目录对比,是一一对应的。这就是说,如果改变一下上述的内容,例如,写成下面的样子:
DIRS= \\
     input \\
     编译的时候,就仅仅处理input目录下的东西了。
input目录下也不是只有一方面的驱动,它还包括键盘驱动和鼠标驱动等等,若要只编译鼠标驱动该如何办?  
    input下也有dirs文件,只要在改写此处的dirs文件内容就是了。
上次忘记说了,build还要依赖makefile文件,也可用记事本打开。里面有个警告,不要编辑该文件的内容。所以,对于编程者来说,makefile文件没有不行,但改动此也不行。
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-05 10:02
呵呵,你进入相应的子目录敲build -cz就可以了嘛。
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
piaotq
驱动牛犊
驱动牛犊
  • 注册日期2003-05-04
  • 最后登录2003-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-05-12 21:11
向BaoFu学习,呵呵!
huoyan
驱动牛犊
驱动牛犊
  • 注册日期2003-05-06
  • 最后登录2005-07-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-05-16 10:19
呵呵,虽然我一直都是进入相应的子目录再敲build  来编译的,但是这其中的细节我真的都不知道(而且从来都没有打算仔细研究这个问题),看到楼主的努力,有点汗颜了~~~
活着,就是为了体会人世间的喜怒哀乐。 这是上天给我们的唯一机会,好好珍惜!
sunly15
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2003-05-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-05-20 00:24
用build编译出来的是什么文件?能直接当驱动程序来用吗?
可以生成SYS文件吗?
kxgchina
驱动小牛
驱动小牛
  • 注册日期2002-04-01
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-05-20 11:28
向baofu同志学习!!
惭愧啊!自己!
BaoFu
驱动小牛
驱动小牛
  • 注册日期2002-10-07
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-05-20 19:13
感谢大家的鼓励。共同学习,共同提高吧!
tigerzd兄说的在命令行窗口用cd命令进入相应的目录,再执行build确实更简单。我验证过的。
编译之后生成的正是sys文件。
melodylux
驱动牛犊
驱动牛犊
  • 注册日期2003-07-09
  • 最后登录2010-07-19
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-07-17 19:24
曾经傻傻的build -CZ 等了半个来小时,^_^!
楼主分析的很清楚,让人惭愧阿,呵呵!
seamanly
驱动牛犊
驱动牛犊
  • 注册日期2003-05-08
  • 最后登录2004-03-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-09-24 10:47
我用build -cz后怎么就得不到sys文件呢?

可编译链接时的输出信息都没问题的,奇怪~~
seamanly
驱动牛犊
驱动牛犊
  • 注册日期2003-05-08
  • 最后登录2004-03-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-09-24 11:11
是我没注意看输出路径,

:)
wumengyun
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2003-12-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-11-10 19:05
向 BaoFu学习
dancetime
驱动牛犊
驱动牛犊
  • 注册日期2003-12-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-12-23 11:56
输出路径要在哪里看呀?
longriver2003
驱动小牛
驱动小牛
  • 注册日期2003-09-14
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-12-27 09:39
输出路径在source里有设。
给分才有动力!所以我坚决给分!
tangwise
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2007-06-12
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-01-04 12:12
好,多谢各位。
ooollly
驱动牛犊
驱动牛犊
  • 注册日期2004-12-22
  • 最后登录2006-02-16
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-12-28 13:12
好贴
shenbo0306
驱动牛犊
驱动牛犊
  • 注册日期2004-12-31
  • 最后登录2009-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2005-01-08 10:47
有收获!多谢各位倾囊相赠
顶!!!!
我自将心照明月,奈何明月照沟渠!
上一页
游客

返回顶部