首页
社区
课程
招聘
[原创]masm32学习之环境配置以及Win32汇编库初步封装之一
发表于: 2013-8-30 22:56 9602

[原创]masm32学习之环境配置以及Win32汇编库初步封装之一

2013-8-30 22:56
9602

以前买了好大一堆书,都没几本看过。真是所谓的书非借而不能读也哎!看到满书柜上一堆一堆的书,满心的惭愧,所以打算把这些买回来的书都好好的看一番。 翻来翻去,翻到了罗云彬的Window32汇编语言程序开发。汇编也基本上忘记的7788了,就从这本书开始吧。那么首先要整的无疑就是学习的开发环境了。masm32这个东西,比较轻量级,有库,有汇编器,有连接器,外加一个记事本,基本上就能写代码编译成exe了。书上没指定固定的开发环境和编辑器,编译汇编代码的编译模式都是用的make文件,然后用VS的nmake进行编译。先说编辑器,编辑器,记事本就行了,不过系统自带的记事本比较简陋,所以就选择了Notepad++来作为代码编辑的工具,选他最主要的就是功能足够(支持多语法高亮,支持各种插件)。代码写好了,要编译生成可执行文件。这个可以用写批处理或者自己在命令行下根据ml,link等命令来生成对应的文件。这里就有我选择notepad++的一个最主要的原因了,因为NotePad++有一个插件叫做NppExec,使用这个插件写上相关的脚本,就可以设置快捷键,然后用快捷键自动来编译生成需要的东西了,相当方便。书上的建议是制作makefile的文件,然后用namek进行编译连接。由于我是个人学习,多数情况下都是单个单个的汇编文件,所以,个人就不采用make文件的方式了,因为独立文件多,每测试都要写make比较麻烦,所以主要就写两个执行脚本就行了,一个脚本用来连接生成lib,另一个脚本用来连接生成exe文件,这样就基本上能写大部分的程序了,然后再写一个通过扩展名来调用不同的脚本来编译连接文件的通用脚本。之后每次,就只用调用这个通用脚本就行了(设置一个快捷键,代码好了之后保存一下,一键就行了)。这几个脚本文件如下

先是.asm后缀的,用来生成exe的脚本

cd $(CURRENT_DIRECTORY)
ENV_SET PATH = D:\Develop_Tools\Masm32\bin; D:\Develop_Tools\Masm32\include; D:\Develop_Tools\Masm32\lib
ml /c /coff /I D:\Develop_Tools\Masm32\include  $(NAME_PART).asm
link /LIBPATH\Develop_Tools\Masm32\lib  /subsystem:windows  $(NAME_PART).obj  /out:$(NAME_PART).exe
NPP_RUN $(NAME_PART).exe
cd $(CURRENT_DIRECTORY)
ENV_SET PATH = D:\Develop_Tools\Masm32\bin; D:\Develop_Tools\Masm32\include; D:\Develop_Tools\Masm32\lib
ml /c /coff /I D:\Develop_Tools\Masm32\include  $(NAME_PART).asm
link -lib *.obj  /out:$(NAME_PART).lib
SET Compiler = Compile@$(EXT_PART)
NPP_EXEC "$(Compiler)"

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (4)
雪    币: 941
活跃值: (1264)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
挺好,不过貌似重复造轮子,没解决什么问题,实际应用不大
2013-8-30 23:50
0
雪    币: 157
活跃值: (471)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
汇编来封装。没什么意义。
2013-8-30 23:51
0
雪    币: 1283
活跃值: (46)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
呵呵,学习的产物,边学边封装,盲目的看书,不操作不行,所以就封装吧,这样比写Hello World要学习的更快一些!
2013-8-30 23:54
0
雪    币: 242
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
非常好,我看过已故著名公司写的汇编代码,模块化封装的非常好,底层核心功能就是用汇编写的,界面和底层的接口是汇编和C的混合物,界面是用delphi做的。产品的品质一流,得益于写底层代码的那位高人,真是非常了不得的人物。希望能有一天看到楼主封装到TControl的代码
2013-8-31 13:41
0
游客
登录 | 注册 方可回帖
返回
//