My Opera is closing 3rd of March

X光年

don't forget 2005

Subscribe to RSS feed

给 Ultimate++ 减肥

Ultimate++ 编译出来的可执行代码实在是大得可以,一个58行的小程序编译后居然有11M之大!Ultimate++编写GUI的确是比MFC容易多了,但代价也太……

于是我便想起了我在486时代常用的aspack和upx。aspack和upx是非常特殊的文件压缩程序,它们并不能压缩常规的文本文件,而是只能压缩可执行文件,比如说Linux下的ELF,DOS下的MZ,Windows下的PE,……。压缩后的文件不用解压,直接便能执行,这也是它和arj、zip、ace、rar明显不同的地方。

UPX的压缩比较ASPACK要高,支持多种平台(ASPACK只支持win32/pe),并且还是免费的!因此选择了UPX。对于windows用户,也许带有图形界面的ASPACK比基于字符界面的UPX更有亲和力,但UPX实际上也有GUI,名字叫作:UPXSHELL。主页是:http://sourceforge.net/projects/upxshell/。虽然UPXSHELL本身并没有压缩功能,但它却能调用upx进行文件压缩。UPXSHELL的界面十分干净,毫无拖泥带水的感觉(但似乎有抄袭ASPACK之嫌),自带了多国语言包(含简体中文),另外,UPXSHELL里面就包含了UPX,因此,就无需先安装UPX,再安装UPXPACK了。

OK,经过长达4分钟的压缩(Cerelon III 1.0GHz,128M SDRAM-PC100),一个11M的文件就只有2M了,执行后,也没有感觉到任何的速度的变慢,至此,大功告成。