您的位置:首页 > 其它

纪念一下我现在的IDE

2010-01-15 22:26 260 查看

Win32汇编First

搞了一天的汇编的IDE,哈哈,纪念一下。

首先嘛,安装Masm32 SDK,恩撞在了C盘。

然后写一个Var.bat

这样的:

@echo off
rem 请根据 Masm32 软件包的安装目录修改下面的 Masm32Dir 环境变量!
set Masm32Dir=C:/Masm32
set include=%Masm32Dir%/Include;%include%
set lib=%Masm32Dir%/lib;%lib%
set path=%Masm32Dir%/Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on


以上的代码摘自罗云彬的汇编书,恩,set Masm32Dir是一个Marco,写的是安装masm的路径,其实就是为了指向你的lib和inc方便用的。不写也没啥……

引用它需要%XXXX%(这和Makefile文件不同,Makefile用的是$(XXXX)

写完之后保存,然后每次运行你的CMD环境的时候都要先运行之……

挺麻烦的,希望有一天能整合成一个比较方便的IDE环境。

===========================================================================================

之后是编写Makefile文件,搞了很长时间,谢谢心得,留着自己看看。

如下是一个Makefile文件:

#nmake 用于处理c3文件
exe = c3.exe
objs = c3.obj

link_flag = /subsystem:windows
ml_flag = /c /coff

#以上是macro,下面使用它们,依赖关系和执行命令
$(exe): $(objs)
link $(link_flag)  /out:$(exe) $(objs)
$(objs):

#汇编编译和资源编译的默认规则
.asm.obj:
ml $(ml_flag) $<
.rc.res:
rc $<

#清除临时文件
clean:
del *.obj


注明:#后面的是注释

前面的部分是Macro。Macro的定义就是XXX = XXX很简单吧,哈哈C语言里是#define.......

Macro的调用就是$,前面已经说了,但是要注意到如果$后面的Marco名不是单个字符的话就要用圆括号括起来

否则Link的时候就会出现问题,他不识别。我用的nmake的9.0版,算是比较新的了。

link_flag是链接选项,一般都是/subsystem:windows(编写Windows程序的时候)

ml_flag是编译选项,/c /coff(/c和/coff之间要有空格)去查link.exe and ml.exe的选项,自己去理解他们的意义吧。(可以用link /?查看)

再之后是就是写依赖关系了:

xxx:xxx表示前面的一项编译或链接的时候需要后面的一项。若果linker在链接的时候找不到依赖项会提示“linker不会处理xxxx文件”这时候就要修改Makefile文件里,或者把所依赖的文件拷到相应的文件夹里,比较好的做法是把那儿文件的路径加到系统的环境变量PATH中。

一般的编译依赖之后就直接跟着编译命令。

然后是汇编编译和资源编译的默认命令

$<是Makefile自带的那种Marco.

$@——全路径的目标文件

$*——除去扩展名的全路径目标文件

$?——所有源文件名

$<——源文件名(只在隐含规则中)

至于Clean就是可选项了,如果你想留着Windows装入之前的Obj什么的就不写了。

=========================================================================================================

对了,好像把link.exe和ml.exe以及rc.exe放在环境变量里把

然后打开UltraEdit什么的写汇编程序,然后用cmd去ml和link

当然,有了Makefile就直接用nmake就行了。

=========================================================================================================

怎么样,看到汇编窗口了吗?

哈哈感觉还8错。

听了一天的Lady Gaga的music了,发现姐们可以,唱歌很好听。

尤其喜欢Poker Face & Bad Romace........

特别喜欢Poker face的MV……

感觉其他的歌就……

现在这两天不是很喜欢听Eminem的歌了,估计听太多了,为了练一首歌老是不停地循环,再好听也烦了,就像T.I. 的XXXX(忘了名字了)

还有Font Minor的Remember the name,还有Eminem的Mocking Bird 和Lose yourself什么的……

睡觉了,接着听。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: