如何编译驱动程序

       驱动的编译和上层应用程序的编译完全不同,作为初学者应该先了解一下,即使你还不懂得怎么写驱动程序。

       首先安装DDK,然后随便找一个例子来测试。在菜单中找到BUILD环境菜单执行,不同的系统要使用不同的BUILD环境。会打开一个DOS窗口,这时CD到那个例子程序,输入 build –cZ回车就可以了。

驱动程序都是用一个由DDK提供的叫build.exe的工具编译的。此程序以一个名为SOURCES的文件作为输入,该文件中包含目标可执行文件的名称、类型和要创建的可执行文件的路径,注意这个文件没有后缀名。

SOURCES的文件格式:

TARGETNAME=drivername ,

-          本参数用于指定生成的设备驱动程序名称(不需后缀名),所产生的文件

-          drivername.sys.

 

TARGETPATH=./lib

-          本参数用于指定生成的设备驱动程序所存放的路径. 一般采用./lib.

 

TARGETTYPE=DRIVER

-          build能够生成许多不同的目标对象,设备驱动程序一般选用 DRIVER.

 

INCLUDES=path1;path2;...

-          本参数是可选的, 用于指定其他的#include文件的搜索路径.   

 

TARGETLIBS=lib1;lib2;...

-          本参数是可选的, 用于指定其他的lib库文件的搜索路径.   

 

SOURCES=file1.c  file2.c ...  

-          本参数用于指定需被编译的全部源文件名称, 后缀名不能省略,文件名之间用空格分开. 

SOURCES文件是必需的,如果没有它则表示没有任何源文件需要编译。

如果要换行可以用 /’ 符号,表示对上一行的继续。

 

也可以创建DIRS文件,DIRS文件用于指定在当前目录下必须创建的子目录。

DIRS文件格式:

DIRS文件的内容由一系列用空格分开的目录名组成

DIRS = /

      subdir1 /

      subdir2 /

      subdir3

DIRS文件是可选的。

 

       有的时候,会提示找不到依赖的文件(.h,.lib 之类),其实设置好 source 文件的

INCLUDESTARGETLIBS就可以,我第一次编译时就碰到这个问题,和VC环境区别较大,但习惯就好。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页