NASM现在已是大名鼎鼎,很多人都在用它,但是,大多都是编写纯2进制文件的。

那么,windows、Linux下,为何使用者寥寥无几?

那就是繁杂。

有一个完整的API库(包括API声明、引用,结构定义等等),工作量十分庞大,而没有这些,将大大增加程序员的工作量。

那,我们要编写Win32应用程序,难道也……?

不,不用!因为,已经有人考虑到了这些!其中NASMX就是不错的选择,它不仅包含API的引用、声明,常数声明,结构声明等,还在它的包内自带了 NASM的编译器,和一个win32/64连接器,资源编译器和编辑器!还有数量丰富的例程!

“哎,等等!你说说,我能否胜任这项工作?”噢!对了,毕竟汇编是较低级的语言,理解起来比较困难,所以,您需要对C语言和C++略有小成,毕竟,C是在 汇编的基础上开发的,而C++又是在C的基础上开发的,C和汇编是互联互通的,如果对C的有些研究,将会发现,对汇编之类的理解并不是想象中的难!另外, 编写Win32应用程序还需要您对API有一定的了解,对常用API应该了如指掌,比如 MessageBox wsprintf 等等之类的常用API函数。

准备工具

好了,如果你觉得,自己能够胜任,就来准备一下“工具”吧!

1.编译器:NASM

可以在官网下载到最新版

http://www.nasm.us/

2.辅助工具:NASMX

可以在官网下载到最新版

http://www.asmcommunity.net/projects/nasmx/

3.文本编辑器:Sublime Text4

当然,你如果有其他的,这项可以不用准备。

NASM包介绍

我来介绍一下NASM包,它是一个安装程序,你最好安装在桌面(如果桌面不拥挤的话)或者我的文档,这样可以方便使用一些。

它内含一个辅助启动程序 (nasmpath.bat)反汇编程序(ndiasm.exe)汇编器(nasm.exe)NASM的文档(nasmdoc.pdf)

顺便介绍一下NASMX,它有三个文件夹,bin,inc,另一个是示例。

bin文件夹下面有一下内容:

  • 反汇编器ndiasm

  • 资源编辑器resed

  • 资源编译器gorc

  • 链接器golink

把gorc/resed/golink复制到我们安装nasm的文件夹下,把inc文件夹里面的win32文件夹和nasmx.inc也复制过去,有兴趣 的可以打开示例,点那个批处理,能自动地编译链接生成EXE