吗的,win32都快学到高级语法了,makefile 问题还没搞明白
吗的,win32都快学到高级语法了,makefile 问题还没搞明白,现在想写个程序,没法进行下去了,以前的小实验也没能够试验,第一次这么郁闷。makefile 到底是个什么东西? makefile是每个程序都通用的,还是每个程序里面的makefile都不一样? 里面要修改哪里!!!求真相,求合体!!!!!!!!!!!!!!!!
如果有通用版请发一个!!
还有nmake 怎么用,直接输nmake 还是后面加什么文件名???度娘也不给力。。。
学到MASM这个章节时,可不能快。
一,makefile有两种:
1,是不带图标的:
NAME = a.exe #指定输出文件
OBJS = a.obj #需要的目标文件
LINK_FLAG = /subsystem:windows #连接选项
ML_FLAG = /c /coff #编译选项
$(NAME).exe: $(OBJS)
Link $(LINK_FLAG) $(OBJS)
.asm.obj:
ml $(ML_FLAG) $<
clean:
del *.obj
2.是带图标的:
EXE = a.exe #指定输出文件
OBJS = a.obj #需要的目标文件
RES = a.res #需要的资源文件
LINK_FLAG = /subsystem:windows #连接选项
ML_FLAG = /c /coff #编译选项
$(EXE): $(OBJS) $(RES)
Link $(LINK_FLAG) $(OBJS) $(RES)
.asm.obj:
ml $(ML_FLAG) $<
.rc.res:
rc $<
clean:
del *.obj
del *.res
makefile的制作过程:
先打开一个记事本,然后将以上内容拷贝进去,并保存为makefile这样的名称。
二,Var.bat是环境变量。
@echo off
set Masm32Dir=d:\Masm32
set include=%Masm32Dir%\Include;%include%
set lib=%Masm32Dir%\lib;%lib%
set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on
三,nmake这个程序并非masm32自带的,去安装后的VC6中提取。XXX\Microsoft Visual Studio\VC98\Bin下。
另外,若你没有图标,可去百度或谷歌去搜索:图标下载,扩展名:ico。再用vc++加工制作(视频教程中有)
--------------------------------
Var.bat放到masm32下;
nmake放到masm32\bin下;
makefile,*.res ,*.asm放在一起。 我才看了两讲呢。 里面有用到资源的就加上资源
NAME = Hello
OBJS = $(NAME).obj
LINK_FLAG = /subsystem:windows
ML_FLAG = /c /coff
$(NAME).exe: $(OBJS)
Link $(LINK_FLAG) $(OBJS)
.asm.obj:
ml $(ML_FLAG) $<
clean:
del *.obj
基本就按格式就可以了 用MASMPLUS来汇编,什么都不用,直接按个按钮就行了。
下载地址:http://ishare.iask.sina.com.cn/f/15717142.html?from=like 我是来游逛的,看看有什么值得学习的。:P 关于makefile,自己建一个文档不就行了吗!我的帖子里写的已经很清楚了;如果还不懂就仔细看视频,如果还是不懂就把我的贴子顶起来,我才会告诉你。
哼!都学到高级语法啦,你真了不起啊!我还没有学到呢!
我怎么感觉你是为了超赶而超赶吧!!!:P 没个正样 发表于 2012-3-4 14:22 static/image/common/back.gif
关于makefile,自己建一个文档不就行了吗!我的帖子里写的已经很清楚了;如果还不懂就仔细看视频,如果还是 ...
不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学8086汇编和学c那么得心应手, 印证了那句话,编程不是学的,是写的。光学的话,虽然都看懂了,但是,自己真正动手了,什么都不会 一世芳华 发表于 2012-3-4 16:51
不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学 ...
EXE = menu.exe
OBJS = menu.obj
RES = menu.res
LINK_FLAG = /subsystem:windows
ML_FLAG = /c /coff /Cp
$(EXE).exe: $(OBJS) $(RES) #不知道为什么少了 .exe就无法成功
Link $(LINK_FLAG) $(OBJS) $(RES)
.asm.obj:
ml $(ML_FLAG) $<
.rc.res:
rc $<
clean:
del *.obj
del *.res 不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学8086汇编和学c那么得心应手, 印证了那句话,编程不是学的,是写的。光学的话,虽然都看懂了,但是,自己真正动手了,什么都不会
页:
[1]