用delphi编译生成的EXE文件都比较大,怎样有效减小他的大小

zxhread 2005-01-20 11:40:24
使用使用VCL类库 delphi编译生成的EXE文件一般都比较大,有什么办法能有效减小他的大小.
...全文
784 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
quicksand201 2005-01-20
  • 打赏
  • 举报
回复
路过
alian1974 2005-01-20
  • 打赏
  • 举报
回复
Mark
terrytzq 2005-01-20
  • 打赏
  • 举报
回复
Aspack压缩
Sorder 2005-01-20
  • 打赏
  • 举报
回复
主要是看你把整个系统是如何设计的,
除了把一些没用的引用去掉之外

通用功能代码的整合程度怎样也很关键
lean77 2005-01-20
  • 打赏
  • 举报
回复
用ASPACK.EXE这个软件来压缩一下EXE文件.
呵呵,没有楼上的专业:)
jinjazz 2005-01-20
  • 打赏
  • 举报
回复
作windows开发,大点也没所谓
lzy6204 2005-01-20
  • 打赏
  • 举报
回复
2.资源文件单独使用,不要编译在exe文件里
3.用压缩工具Aspack
4.少用一些image等大容量的第三方控件
5.也可以调用DLL来减少EXE的大小
lzy6204 2005-01-20
  • 打赏
  • 举报
回复
1.引用的单元会影响EXE和DLL的大小,把Uses中不需要的单元去掉,可以变小一些。
当然如果直接用SDK的方式来开发,那是最小的。

SysUtils.pas System.pas sysinit.pas里面有很多你用不到的公用变量和类型定义,你可以
另起炉灶,把你的程序要用到的变量,函数,类型拷贝到另一个同名的pas文件中,编译时不用
Delphi的集成环境编译,用命令行dcc进行编译,注意要把你新建的基本库pas也包含进去
如 DCC32 -Q -DDLL System.pas sysinit.pas MyProject.dpr -M -Y -Z -$D-
其中system.pas sysinit.pas是从原来的pas中挖出来的一些类型定义,函数等.

Sunniness 2005-01-20
  • 打赏
  • 举报
回复
Project-->Option-->Packages-->选种 Build With Runtime Packages 这个选框

再编译,EXE会小很多
yxiaowang 2005-01-20
  • 打赏
  • 举报
回复
Aspack
zlst 2005-01-20
  • 打赏
  • 举报
回复
不错,加壳
xiao_yu 2005-01-20
  • 打赏
  • 举报
回复
我觉得模块化是最好的解决方法,需要修改那块,也不用把整个系统编译一次,可是到底用哪种方式最好呢,比如说DLL或者包?大家可以说说啊!
yckxzjj 2005-01-20
  • 打赏
  • 举报
回复
软件设计时考虑针对各项功能进行模块化,合理地调用共享资源!
SW13968086129 2005-01-20
  • 打赏
  • 举报
回复
去掉不用的单元,用Aspack压缩!
zijida 2005-01-20
  • 打赏
  • 举报
回复
在Project的Options里,Packages属性页里选中Runtime Packages中的Build with runtime packages,可以立竿见影的给你的程序减肥。缺点是:你的程序必须连着运行库一起发布。
jackie168 2005-01-20
  • 打赏
  • 举报
回复
Aspack压缩
Kshape 2005-01-20
  • 打赏
  • 举报
回复
一般都用UPX
可以直接压缩exe类型的东西
自己到网上看看
找不到我给你发
纯冰糖 2005-01-20
  • 打赏
  • 举报
回复
用upx压缩啊,www.ccrun.com有下载的

不过现在用户的硬盘都比较大,所以...
win9000 2005-01-20
  • 打赏
  • 举报
回复
aspack压缩有时运行会出问题
(特别在formcreate、formshow中调用halt、formclose等中止运行的操作频繁出现)
todouwang 2005-01-20
  • 打赏
  • 举报
回复
那不用vcl了
==========功能说明从小百合下载下来的tgz格式精华区解压后是一大堆网页和文本文件,给阅读和保存带来不便。chm格式将所有网页和文本整合到一个文件里,阅读很方便,而且对大文件来说,chm格式比tgz格式文件更小。Lily Digest Chm就是这样一个工具,现在支持百合和石头城的精华区。支持解压tgz、支持在线更新、支持换肤、附带俄罗斯方块游戏(双击"关于"窗口内的程序图标启动)。==========更新信息 (*很不同 +增加功能 -去除功能 #bug修复)v 2.03+ 服务器运行模式不需要服务器额外支持# 修正服务器运行模式一些bugv 2.02+ 加入服务器运行模式(编译所有版面)+ 加入stonecity.nju.edu.cnv 2.01 * 工程数据库重新设计,请新建工程+ 极大减小chm文件体积+ 解压缩过程在状态栏有进度显示# 修复很多bugv 2.00 * 重写设计,重写所有代码+ 操作简单化、直观化;风格美观化+ 加入项目文件的概念+ 在线更新+ 上下载文件过程直观化+ 智能判断可否下载已编译好的chm+ 支持tgz包的解压缩,不像前一版本用WinRAR解压 -_-b+ 优化chm文件编译生成chm比原tgz压缩包大一点点+ 编译过程可视化,否则编译文件好像对程序是否已经失去响应不太自信+ 做了帮助文档v 1.00+ 根据tgz压缩包制作chm格式的精华区+ 下载过程、编译过程无人工干预==========源码说明1。用到的控件 TinyDB 2.93 ExpressBars Suite v5.1.2 CoolTrayIcon ver. 4.3.1 ZipTV.6.8.4 KWizard Version 1.5 在盒子都可以找到2。主要源码介绍 dllLiveUpdate 在线更新的dll代码,修改自TMS包 dllTetris 俄罗斯方块dll代码,修改自别人的代码 dbFile.pas 封装了对TinyDB数据库的操作 dcp.dll 实际上是TinyDB的数据库,打开密码是neo Default.dcc 默认的用户界面配置 mCommonVal.pas 全局变量 Misc.pas 一些公用函数 RegExpr.pas 是正则包,别人写的 uMakehh.pas 遍历精华区目录生成chm配置文件 其余源码看各个文件,程序注释比较多3。联系作者: yuelinniao AT hotmail.com http://spaces.msn.com/members/yuelinniao/4。其他 作者声明,本文只供盒子(2ccc.com)使用;转载需作者同意。 一直受惠于盒子,发布一些代码感感恩,呵呵 :)
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧