相关疑难解决方法(0)

使用UPX压缩Windows可执行文件有什么缺点吗?

我之前使用过UPX来减少我的Windows可执行文件的大小,但我必须承认我对这可能产生的任何负面影响都很天真.所有这些包装/拆包的缺点是什么?

是否存在任何人建议NOT UPX-ing可执行文件的情况(例如,在编写DLL,Windows服务或定位Vista或Win7时)?我在Delphi中编写了大部分代码,但我也使用UPX来压缩C/C++可执行文件.

另外,我没有尝试使用UPX来保护我的exe不被反汇编程序,只是为了减少可执行文件的大小并防止粗略的篡改.

c++ compression delphi winapi upx

37
推荐指数
5
解决办法
2万
查看次数

我该怎么做才能减少我的可执行文件的大小(Delphi)?

我使用Delphi 2009为桌面程序发布了一个可执行文件(.EXE).我没有运行程序所需的外部DLL或资源.

我使用两个组件:LMD Innovative的ELPackSergey Tkachenko的TRichView,它们被编译成我的可执行文件.

当我使用"Release"构建配置构建我的生产版本时,生成的可执行文件是13,533 KB.

在使用Delphi 2009之前,我使用的是Delphi 4.它生成的可执行文件只有2,671 KB,同时包含相同的两个组件,并且基本上具有与我当前版本相同的代码.

我确实理解Delphi 2009完全是Unicode(这是我升级的主要原因),并且Unicode可以导致大小增加一倍.但这大约要大5倍.

我的可执行文件必须保持5倍大的原因吗?或者有一些简单的方法来减少可执行文件大小的重要部分?


请注意.有些人正在回答压缩Delphi EXE的方法.这不是我想要做的.我试图简单地看到为什么这么多空间被用来删除可能没有必要的东西.如果这样做,如果需要,仍然可以在之后进行压缩.

安装后,可执行文件的大小无关紧要.它用于下载目的,并最大限度地减少要压缩它的服务器负载和下载时间.我更喜欢使用Inno Setup并在安装例程中压缩程序本身.然后在安装时,它将扩展为完整大小.这既可以防止可能的病毒检测,又可以消除在内存中解压缩程序所需的额外启动时间.此外,我编写了可执行文件和我的安装例程的代码,并且一些压缩技术与此不兼容.

有关压缩的更多信息,请参阅StackOverflow问题: Delphi EXE压缩器?


ldsandon让我准确提供我正在使用的选项,所以他们在这里:

编译选项http://www.beholdgenealogy.com/img/compilingoptions.jpg

链接选项http://www.beholdgenealogy.com/img/linkingoptions.jpg

delphi executable build-process

23
推荐指数
5
解决办法
2万
查看次数

编写不占用大量空间的Windows应用程序的语言

我需要编写一个Windows XP/Vista应用程序,主要要求:

  • 只有一个.exe文件,没有额外的运行时,如Air,.Net; 可能是几个dll.
  • 文件很小.

该应用程序用于以网络为中心的使用,类似于ICQ或Gtalk客户端.

c++ windows user-interface mfc windows-xp

5
推荐指数
4
解决办法
1265
查看次数

德尔福应用程序将来会变得更小

已经delphi win32 exe的大小是~850 kb,他们有任何使exe大小更小的路线图,(我知道大小是因为vcl unicode RTTI等等),delphi编译整个单元甚至只有一个小功能这个单位是必需的.所以有任何设施,或第三方产品,(我知道kol和mck做同样的事情)

delphi size winapi

2
推荐指数
1
解决办法
690
查看次数