一世芳华 发表于 2012-3-4 11:40:56

吗的,win32都快学到高级语法了,makefile 问题还没搞明白

吗的,win32都快学到高级语法了,makefile 问题还没搞明白,现在想写个程序,没法进行下去了,以前的小实验也没能够试验,第一次这么郁闷。
makefile 到底是个什么东西? makefile是每个程序都通用的,还是每个程序里面的makefile都不一样? 里面要修改哪里!!!求真相,求合体!!!!!!!!!!!!!!!!

   如果有通用版请发一个!!
还有nmake 怎么用,直接输nmake 还是后面加什么文件名???度娘也不给力。。。

没个正样 发表于 2012-3-4 11:40:57

学到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放在一起。

剑江湖轮回 发表于 2012-3-4 12:28:36

我才看了两讲呢。

276691146 发表于 2012-3-4 13:18:55

里面有用到资源的就加上资源
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
基本就按格式就可以了

hxs554f 发表于 2012-3-4 13:33:47

用MASMPLUS来汇编,什么都不用,直接按个按钮就行了。
下载地址:http://ishare.iask.sina.com.cn/f/15717142.html?from=like

1023545590 发表于 2012-3-4 13:42:58

我是来游逛的,看看有什么值得学习的。:P

没个正样 发表于 2012-3-4 14:22:45

关于makefile,自己建一个文档不就行了吗!我的帖子里写的已经很清楚了;如果还不懂就仔细看视频,如果还是不懂就把我的贴子顶起来,我才会告诉你。

哼!都学到高级语法啦,你真了不起啊!我还没有学到呢!
我怎么感觉你是为了超赶而超赶吧!!!:P

一世芳华 发表于 2012-3-4 16:51:19

没个正样 发表于 2012-3-4 14:22 static/image/common/back.gif
关于makefile,自己建一个文档不就行了吗!我的帖子里写的已经很清楚了;如果还不懂就仔细看视频,如果还是 ...

不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学8086汇编和学c那么得心应手, 印证了那句话,编程不是学的,是写的。光学的话,虽然都看懂了,但是,自己真正动手了,什么都不会

没昵称 发表于 2015-5-12 18:50:17

一世芳华 发表于 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

key2046 发表于 2017-1-11 15:40:04

不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学8086汇编和学c那么得心应手, 印证了那句话,编程不是学的,是写的。光学的话,虽然都看懂了,但是,自己真正动手了,什么都不会
页: [1]
查看完整版本: 吗的,win32都快学到高级语法了,makefile 问题还没搞明白