热情软件屋

 

VB程序怎么由编译后的大小为900K"优化"后变成180K


编号:QA003831
建立日期: 2001年2月4日 最后修改日期:2001年2月4日
所属类别:

宋海龙:
    操作系统: windows95/98/2000
    编程工具: vb6
    问题: 我用vb6编写的小共享软件在网上传播,不知被那位大侠解密并做了所谓的重新"优化"。解密是预料中的事情,但是,"优化"让我不明白:原来编译后的可执行程序大小为900多K,"优化"后变成180K,而功能不变。我依稀记得哪本书介绍vb编译后的exe文件存在对程序执行无用的"标注信息","优化"是否是删除了该类信息?若是,如何删除?请高手指教,谢谢!
    水平: 中级

回答:

    没有使用过你的软件,所以只是猜测你的软件是被高手使用压缩软件压缩了。我们平时接触的压缩工具如winzip,RAR等可压缩任何文件,但压缩后的文件不能直接执行。有一些专门的EXE 压缩软件,就是专门压缩 PE 格式EXE文件,当然有些也能压缩DLL文件。用它压缩的EXE文件体积缩小,但还是EXE文件,仍可执行,只是运行过程和以前不一样了。压缩工具把文件压缩后,在文件开头一部分,加了一段解压代码。执行该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。压缩后的EXE程序一般不会有问题,但个别程序可能出现不兼容的问题。如今越来越多的软件商喜欢用压缩方式发行自己的产品,如The bat!用UPX压缩,ACDSEE 3.0用ASPACK压缩等。常见的压缩工具有Shrinker、WWPACK32、PE-PACK、PETITE、NEOLITE、ASPACK、UPX等。其中UPX、ASPACK和Shinker在压缩率、速度、兼容性、操作等综合性方面比较好。虽然VB的编译优化不是很强,但是所有的注释信息不会出现在EXE中。之所以你的EXE由900K压缩到180K,可能是你在程序中使用大量图片,而VB以不压缩的格式保存图片,所以特别大,而这种程序最适合压缩了。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio