主题:[原创]发布define to equ 1.3,并公开源代码。
使用Win32Asm编程的过程中,经常要用到常数定义,如果是有资源的程序更是如此。
自己当初编程时是先将要转换的C语言常数ID复制到程序的常数区.const中,然后再用查找
替换功能去掉#define语句,再一个个地在常数和数值之间加equ。多的时候麻烦死了。
于是便想开发一个专门用于将这些C语言格式的常数定义转换为汇编格式的程序,刚好
五一有时间就做了个。现在希望大家帮忙测试一下。程序本身使用Win32Asm开发,整个程序
为7kb。
功能和用法:
1:可以直接将要转换的#define文本复制到文本框中,然后按下“转换”按钮即可
完成转换。也可以导入RC资源文件,可以是多个文件,这里顺便谢谢Aogo,因为
看了他的cocoplayer代码后我才会分离多个文件名。程序会自动搜索资源文件的
#define语句部分,没有#define文本的行是不会添加的。
2:可以使用Equ定义和等于号定义。这一点RadAsm是没有的。
3:可以自动忽略含有负数的常数定义,这个功能对于窗口程序的资源常数ID转换最
最有用了。这一点RadAsm也没有。
4:程序会自动编排转换后的文本,如原来的文本为:
#define IDD_DLG_MAIN 1000
#define IDC_EDT_SOURCE 1001
#define IDC_STC1 -1
#define IDC_EDT_TARGET 1002
转换后的文本为:
IDD_DLG_MAIN equ 1000
IDC_EDT_SOURCE equ 1001
IDC_EDT_TARGET equ 1002
自动忽略了负数ID。
5:可以将转换后的文本直接复制到剪贴板或者保存为.inc文件。方便独立管理。
;--------------------------------------------------------------------------------
;程序名:define to equ
;功能:将C语言的常数定义转换为汇编语言格式。
;
;使用环境:win9x/2000/xp
;开发环境:win2000 + RadASM 2.0.4 汉化版 + MASM32V8
;
;作者:jhkdiy
;E-mail:jhkdiy@3126.com
;论坛: http://vincey.uni.cc 或 http://vincey.info
;创建日期:2005/4/30
;最后版本:1.3
;版本历史:
; 1.0 : 自己测试用
; 1.1 : 发布版本,增加对十六进制定义常数的支持
; 1.2 : 增加对TAB分隔符分隔的常数定义的支持
; 1.3 : 改用动态分配内存的方法,RC文件的大小不再受4096字节的限制。
;最后修改日期:2005/8/15
;注意: 你可以自由传播本代码,但请保留代码的完整性和作者信息,且本代码不可用于
; 任何形式的商业活动,谢谢.
;--------------------------------------------------------------------------------
注意事项:
每一个#define语句必须单独一行,这也符合C语言的规定。
define to equ 源代码下载地址:
http://jhkdiy.go3.icpcn.com/code/define2equ.rar
程序图片:
[img]http://jhkdiy.go3.icpcn.com/img/show.jpg[/img]
如果大家在使用过程中有任何问题,请致电24小时服务热线
http://www.52inter.net
e-mail:jhkdiy@3126.com
我会尽快解决。