使用Delphi构建的exe大于100MB是否有任何风险?
我的Delphi win32 VCL应用程序被部署为一个大的exe.该应用程序是一个客户端服务器应用程序,具有连接到SQL Server的胖客户端.
这很方便(只需更新共享文件夹中的一个文件并更新应用程序 – 当然数据库模式也会更新). 由于我在每个版本中都使用了很多“胖”的第三方组件,比如ReportBuilder和DevExpress,因此exe大小的增长主要是因为这些组件变得越来越大. 在dpr我设置这些标志以确保从共享文件夹或可移动设备启动exe时,它总是加载到内存中(并避免奇怪的连接错误): {$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP} {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP} 如果exe是使用Release Build Configuration构建的,那么普通的exe通常会减小大约50%的大小(与Debug Build Configuration相比).但是因为我使用EurekaLog,使用Build而不是Debug构建只是略微减小了大小. 目前我的exe是115MB(使用“Build”Build配置和EurekaLog构建). 在任何人的经历中都可以吗?是否有一个已知的限制,建议不要超过? 以下是近年来规模的增长情况: 2014年:76MB 2015年:82MB 2016年:90MB 2017:97MB 2018年:115MB 由于我最近超过了100MB的限制,我开始担心. 我知道可以用运行时包构建,但我的问题集中在尽可能保持单个大exe方法. 我记得cnPack有一个我过去尝试过的Uses Cleaner功能.这可能有助于我删除一些未使用的单位,从而减少exe大小,但无论如何这不能阻止我超过100MB的趋势. 谢谢. 解决方法
我问EurekaLog,他们回答说:
所以当用户Ville Krumlinde说调试信息是原因时,他就是对的.所以要回答这个问题,没有问题,有一个大的exe,减少exe大小必须使用Release Build Configuration,使用Eureka Log应该尽量减少他的地图文件大小,在上面的引用大多数提示都有. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |