阅读:3542回复:20
如何每次只编译一个特定的ddk中的例子?
我是刚开始学驱动,用win xp家庭版。且有VC5。下载win 2k的ddk并成功安装在D:驱动器上,文件夹名称为NTDDK。
在win xp的开始菜单中,找到windows2000ddk->Checked Build Environment。点击这一项,出现了命令行窗口,输入Build -clZ命令,回车。显示的提示很长,好像是将src目录下的所有例子都进行了编译。这不符合我的愿望,我是想每次只编译其中的一个例子。如何才能做到呢? |
|
最新喜欢:xiaona... |
沙发#
发布于: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 |
|
板凳#
发布于:2003-05-04 21:55
遇到这个问题后,我狠劲看书,从DDK英文文档中看到一些蛛丝马迹,自以为已经找到解答,先贴在这里,盼高手指点。
用build命令编译的时候,需要几个文件与之配合:1、对编译环境的设置需要用一个批处理文件setenv.bat。如果你熟悉dos的话,可以用记事本打开这个文件来看看,研究一下。2、包含驱动源文件的目录之下,还应当有一个名字为sources的文件(注意,这个文件没有扩展名),顾名思义,这是文件来源--文件中列出的是所有需要编译连接的文件名称。3、当编译的文件分散在多个目录中的时候,还需要有一个dirs的文件(也是一个不用扩展名的文件)来告诉编译程序源文件所在的目录。特别地,如果子目录下还有更低级的子目录,这些地方也需要有dirs文件---也就是说,每个目录节点处,都要有一个dirs文件。 现在再来讨论我遇到的问题就好解释了:DDK包含例子程序的是src目录,我已经察看过:src目录下确有dirs文件,之下的每个子目录中也是如此。一个连一个,就这样把本不想编译的例子也编译了。 |
|
地板#
发布于:2003-05-04 22:08
大家都象你这样的话,提问的就会少很多了 :D
值得学习呀 :D |
|
地下室#
发布于: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文件没有不行,但改动此也不行。 |
|
5楼#
发布于:2003-05-05 10:02
呵呵,你进入相应的子目录敲build -cz就可以了嘛。
|
|
|
6楼#
发布于:2003-05-12 21:11
向BaoFu学习,呵呵!
|
|
7楼#
发布于:2003-05-16 10:19
呵呵,虽然我一直都是进入相应的子目录再敲build 来编译的,但是这其中的细节我真的都不知道(而且从来都没有打算仔细研究这个问题),看到楼主的努力,有点汗颜了~~~
|
|
|
8楼#
发布于:2003-05-20 00:24
用build编译出来的是什么文件?能直接当驱动程序来用吗?
可以生成SYS文件吗? |
|
9楼#
发布于:2003-05-20 11:28
向baofu同志学习!!
惭愧啊!自己! |
|
10楼#
发布于:2003-05-20 19:13
感谢大家的鼓励。共同学习,共同提高吧!
tigerzd兄说的在命令行窗口用cd命令进入相应的目录,再执行build确实更简单。我验证过的。 编译之后生成的正是sys文件。 |
|
11楼#
发布于:2003-07-17 19:24
曾经傻傻的build -CZ 等了半个来小时,^_^!
楼主分析的很清楚,让人惭愧阿,呵呵! |
|
12楼#
发布于:2003-09-24 10:47
我用build -cz后怎么就得不到sys文件呢?
可编译链接时的输出信息都没问题的,奇怪~~ |
|
13楼#
发布于:2003-09-24 11:11
是我没注意看输出路径,
:) |
|
14楼#
发布于:2003-11-10 19:05
向 BaoFu学习
|
|
15楼#
发布于:2003-12-23 11:56
输出路径要在哪里看呀?
|
|
16楼#
发布于:2003-12-27 09:39
输出路径在source里有设。
|
|
|
17楼#
发布于:2004-01-04 12:12
好,多谢各位。
|
|
18楼#
发布于:2004-12-28 13:12
好贴
|
|
19楼#
发布于:2005-01-08 10:47
有收获!多谢各位倾囊相赠
顶!!!! |
|
|
上一页
下一页