WEB开发网
开发学院软件开发汇编语言 汇编教程:虚拟设备驱动程序结构 阅读

汇编教程:虚拟设备驱动程序结构

 2008-12-27 09:35:51 来源:WEB开发网   
核心提示:编译VxD编译的过程和编译普通的win32程序一样,先调用ml.exe编译asm源文件,汇编教程:虚拟设备驱动程序结构(3),然后用link.exe来连接object文件,不同的地方是ml.exe和link.exe后所带的命令行参数不同,我觉得用makefile很方便,如果你不喜欢用makefile,ml -coff

编译VxD

编译的过程和编译普通的win32程序一样。先调用ml.exe编译asm源文件,然后用link.exe来连接object文件。不同的地方是ml.exe和link.exe后所带的命令行参数不同。

ml -coff -c -Cx -DMASM6 -DBLD_COFF -DIS_32 firstvxd.asm

-coff 表明COFF数据格式

-c 只汇编,不调用连接程序来连接,这样我们就可以在调用link.exe的时候使用跟多的参数。

-Cx 保存公共,外部标记。

-D<text> 定义一个文本宏,例如,-DBLD_COFF定义了一个文本宏BLD_COFF,这个宏用来作为编译的条件。如果你有兴趣,你可以在库文件中查找BLD_COFF,自己亲眼看看它对汇编过程起什么作用。上面的命令行定义了三个文本宏:BLD_COFF,IS_32和MASM6。如果你对C编程熟悉的话,你会知道这些定义相当于完成以下功能:

#define BLD_COFF

#define IS_32

#define MASM6

link -vxd -def:firstvxd.def firstvxd.obj

-vxd 表明我们要根据obj文件来生成一个VxD文件。

-def:<.DEF file> 指定该VxD文件的模式定义文件。

我觉得用makefile很方便,如果你不喜欢用makefile,你也可以创建批处理文件来自动完成编译过程。我的makefile如下:

NAME=firstvxd
$(NAME).vxd:$(NAME).obj
link -vxd -def:$(NAME).def $(NAME).obj
$(NAME).obj:$(NAME).asm
ml -coff -c -Cx -DMASM6 -DBLD_COFF -DIS_32 $(NAME).asm

上一页  1 2 3 

Tags:汇编 教程 虚拟

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接