鱼C论坛

 找回密码
 立即注册
查看: 4786|回复: 9

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

[复制链接]
发表于 2012-3-4 11:40:56 | 显示全部楼层 |阅读模式
5鱼币
吗的,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 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 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放在一起。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 12:28:36 | 显示全部楼层
我才看了两讲呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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
  基本就按格式就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 13:33:47 | 显示全部楼层
用MASMPLUS来汇编,什么都不用,直接按个按钮就行了。
下载地址:http://ishare.iask.sina.com.cn/f/15717142.html?from=like
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 13:42:58 | 显示全部楼层
我是来游逛的,看看有什么值得学习的。:P
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 14:22:45 | 显示全部楼层
关于makefile,自己建一个文档不就行了吗!我的帖子里写的已经很清楚了;如果还不懂就仔细看视频,如果还是不懂就把我的贴子顶起来,我才会告诉你。

哼!都学到高级语法啦,你真了不起啊!我还没有学到呢!
我怎么感觉你是为了超赶而超赶吧!!!:P
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-4 16:51:19 | 显示全部楼层

不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学8086汇编和学c那么得心应手, 印证了那句话,编程不是学的,是写的。光学的话,虽然都看懂了,但是,自己真正动手了,什么都不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-11 15:40:04 | 显示全部楼层
不是滴,纯粹是makefile没搞定,所以只能一直听下去,然后今天想自己写个程序,发现无从下手,完全没有学8086汇编和学c那么得心应手, 印证了那句话,编程不是学的,是写的。光学的话,虽然都看懂了,但是,自己真正动手了,什么都不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 22:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表