WIN32汇编程序的编译方法,环境配置,make的简单应用

 

主题:WIN32汇编程序的编译方法,环境配置,make的简单应用

作者:gnuser

url:    http://bestbbs.5d6d.com


学习一门语言最开始最好弄懂一个简单例子,
而往往很多资料忽视了这一点,让初学者还没入门就卡死在门外.

网上的资料也不太标准,以至于象我这种初学者摸索好久才有所得.

现在开始写笔记吧,废话不多说了,时间宝贵.

工具:masm,link,make

这些工具都很好找,网上资料就能让你顺心.(实在找不到,我给)

安装好masm后
配置环境:

建立一个批处理文件:var.bat

编辑以下内容:

@echo off
set include=c:/masm32/Include
set lib=c:/masm32/lib
set path=c:/masm32/bin;%path%
set include=c:/masm32/Include;C:/Program Files/Microsoft Visual Studio/VC98/Include;C:/Program Files/Microsoft Visual Studio/VC98/MFC/Include
echo on

看清楚路径是否正确.

然后进入ms-dos运行之,输入ml
如出现一些说明信息,OK!

make不是自带的哦,你找到后放到masm32/bin目录下就行了.

现在就可以编译程序了..大门就此打开.不难吧!!


第一个程序,来个最简单的:

.386
.model flat, stdcall
option casemap :none   ; case sensitive

include                windows.inc
include         user32.inc
include                kernel32.inc
includelib        kernel32.lib
includelib        user32.lib
.data

szCaption        db        'Win32汇编例子',0
szText                db        'Win32汇编,Simple and powerful!',0

.code

start :
        invoke        MessageBox,NULL,addr szText,addr szCaption,MB_OK
        invoke        ExitProcess,NULL

end start

我不多解释程序的含义了,就算没学过WIN32汇编的,他也应该能大概看懂,细节自己找资料,
这里我只讲怎么编译.

保存为first.asm文件.

进入刚才的ms-dos界面,运行var.bat后

Ml /c /coff first.asm
Link /SUBSYSTEM:WINDOWS first.obj

OK,就生成了可执行文件了哦.执行之.知道程序什么意思了吧.




make的简单应用:

用好make对于一个编写大型程序的程序员来说是必须的,他能方便的构建整个程序的编译过程,还有.......(自己看去吧)

这里我们直接应用,要具体了解资料很多的.(就是因为资料对介绍还行,对应用不敢恭维的现状我才写的此文)

编写makefile,注意没有后缀.

NAME = first
OBJS = $(NAME).obj
RES = $(NAME).res
$(NAME).exe: $(OBJS) $(RES)
(注意这行需要TAB键开头)        Link /DEBUG /SUBSYSTEM:WINDOWS $(OBJS) $(RES)
$(RES): $(NAME).rc
(这行也是,谨记!)        Rc $(NAME).rc
.asm.obj:
        Ml /c /coff $(NAME).asm

这里我们没有资源文件,所以可以不要rc,res等相关语句.

修改如下:

NAME = first
OBJS = $(NAME).obj

$(NAME).exe: $(OBJS)
        Link /DEBUG /SUBSYSTEM:WINDOWS $(OBJS)

.asm.obj:
        Ml /c /coff $(NAME).asm

回到刚才的ms-dos界面,

执行make命令,


如没有错误就会达到手动编译,连接的效果了,如果有错误,还会提醒你哪儿错了,方便啊!!!

不会make也没关系,不过要做高手嘛,就要多学点咯.(我只是想方便一点,其实菜鸟)


全文完,希望与大家分享学习经验,以至提高效率!!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值