win32汇编设置编译环境

来源:互联网 发布:无线信号放大软件 编辑:程序博客网 时间:2024/05/16 17:23

   想学习win32汇编,感觉《windows环境下32位汇编语言程序设计》(罗云斌)不错。于是就拿来看看,自己就跟着上面的指导搭建了编译环境。

   1.需要到www.masm32.com下载相应sdk软件包。在网站中点击download然后选择Australia1或Australia2中的中国程序员下载就可以下载下来相应的软件。下载下来后进行解压,然后再安装。和普通软件一样。

   2.待安装好之后,可以在你选择的安装盘中看到x:\masm32文件夹(x代表你所选择的安装盘)。里面有很多文件夹。我们编译win32汇编程序需要用到的就只有bin、lib和include这三个文件夹。如果你感觉在这里文件太多太乱,你可以把这三个文件夹拷贝出来放在相应的目录下面。这时,我们还需要一个nmake文件,这个文件可以让你不需要一步一步的按照编译、连接的步骤,它是把编译连接的步骤都集合在一起了。这个文件可以在visual C++中找到。也可以在csdn中下载。找到这个文件之后需要把它拷贝到bin目录下面。

   3.现在需要配置环境变量,需要建立一个var.bat文件。在var.bat文件中写入以下命令:

      @echo off

      set include=x:\masm32\include

      set lib=x:\masm32\lib

      set path=c:\masm\bin;%path%

      echo on

    然后保存。

   4.需要编写一个makefile文件,内容如下:

    EXE = HelloWorld.exe  #指定输出文件,HelloWorld为你的程序名,如果你的程序是abc,那这里就是EXE = abc.exe OBJS = abc.obj  RES = abc.res
   OBJS = HelloWorld.obj  #需要的目标文件
   #RES = HelloWorld.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

    然后保存起来。这个文件,需要和源文件放在一起才可以编译。否则会报错。

   5.在在编写好的一个Hello.asm源程序时,需要先把makefile文件拷贝到Hello.asm所在的文件夹,然后修改makefile文件。之后打开cmd,需要开始->运行,输入cmd。在cmd中跳到var.bat所在的目录,运行var.bat。然后再跳到Hello.asm所在的目录,在命令行里输入nmake。如果不报错,会在相应的目录里产生一个Hello.exe文件。这时就表示你的编译环境搞定了。