当前位置: 首页 > news >正文

发现用明道中文编程语言打包的hanoi.exe文件是22M,有点大啊,还能通过什么技术手段更小一些吗?(先维持原样)

Trae说22MB 是正常的

22MB 是正常的,因为 raco exe 打包了整个 Racket 运行时(约 10MB)+ 基础库 + 明道模块。让我帮你看看怎么减小

langbyracket
白名单运行
在终端查看

$ cd G:\dumategithub\langbyracket\mingdao\examples && raco exe -o hanoi.exe hanoi-mingdao.rkt 2>&1

Thought

langbyracket
白名单运行
在终端查看

$ Get-Item G:\dumategithub\langbyracket\mingdao\examples\hanoi.exe | Select-Object Length, Name

Length Name


22461440 hanoi.exe

langbyracket
白名单运行
在终端查看

$ cd G:\dumategithub\langbyracket\mingdao\examples && .\hanoi.exe 2>&1

从 A 移动到 C
从 A 移动到 B
从 C 移动到 B
从 A 移动到 C
从 B 移动到 A
从 B 移动到 C
从 A 移动到 C

Thought

exe 可以正常运行!21.4MB 是 Racket 运行时 + 基础库的固有大小。让我看看有没有压缩工具可用

langbyracket
在沙箱中
在终端查看

$ Get-Command upx -ErrorAction SilentlyContinue ; if ($?) { upx --version | Select-Object -First 1 } else { echo “UPX not found” }

UPX not found

langbyracket
白名单运行
在终端查看

$ cd G:\dumategithub\langbyracket\mingdao\examples && raco exe --orig-exe -o hanoi-launcher.exe hanoi-mingdao.rkt 2>&1 ; if ($?) { Get-Item hanoi-launcher.exe | Select-Object Length, Name } else { echo “orig-exe failed” }

Length Name


22465536 hanoi-launcher.exe

Thought

–orig-exe 生成的也是 22MB。让我测试一下能否运行,以及是否有不同的行为

langbyracket
白名单运行
在终端查看

$ cd G:\dumategithub\langbyracket\mingdao\examples && .\hanoi-launcher.exe 2>&1

从 A 移动到 C
从 A 移动到 B
从 C 移动到 B
从 A 移动到 C
从 B 移动到 A
从 B 移动到 C
从 A 移动到 C

Thought

langbyracket
白名单运行
在终端查看

$ Remove-Item G:\dumategithub\langbyracket\mingdao\examples\hanoi-launcher.exe -Force ; echo “cleaned”

cleaned

Thought

22MB 是 Racket 打包的"起步价"——它包含了整个 Racket 运行时(约 8MB)+ 基础库(约 10MB)+ 明道模块(不到 1MB)。有几种减小方法:

方案一:UPX 压缩(推荐,22MB → ~8MB)

UPX 是一个可执行文件压缩工具,对 exe 约 50-60% 的压缩率,解压透明(运行时会自动解压,用户无感知):

# 安装 UPX(任选一种) choco install upx # 用 chocolatey 包管理器 winget install upx # 或用 winget # 或者从 https://upx.github.io/ 下载 # 使用 upx --best hanoi.exe # 22MB → ~8MB upx -1 hanoi.exe # 快速压 缩 22MB → ~12MB

方案二:raco distribute + --no-libs

创建一个调用系统 Racket 运行时的精简包:

raco exe -o hanoi.exe hanoi-mingdao. rkt raco distribute hanoi-dist hanoi. exe # 创建分发包

然后用 hanoi-dist/lib/racket 下的共享库替代 exe 中嵌入的运行时。但这更适合分发给其他用户,本地使用的话提升不大。

方案三:什么都不做(建议目前采用)

明道还在打磨阶段,真正发布时再用 UPX 压缩也不迟。当前阶段,用 racket 直接运行即可——我之前用 raco make 预编译后,启动速度应该已经有改善了。

好吧,暂时就先这样吧,维持原样

http://www.jsqmd.com/news/939277/

相关文章:

  • Claude Code 平替来了?DeepSeek-TUI 保姆级安装教程
  • 底轴旋转坝技术深度解析:钢坝、钢闸门、防洪闸、合页坝、底轴旋转坝、弧形闸门、拦河坝、景观坝、智能一体化闸门、气动浮体坝选择指南 - 优质品牌商家
  • 性能相当于第四代骁龙8s
  • HarmonyOS ArkTS 判断 Promise 与异步函数的正确姿势:TypeUtil 实战教程
  • 国内工业级3D打印代加工服务商实测排行 - 优质品牌商家
  • Windows宝塔面板启动卡死?别急着重装,先试试这个服务修复大法
  • 双系统党必看:Ubuntu 18.04下Windows 10启动盘制作与bootmgfw.efi丢失修复全记录
  • QRemeshify:基于QuadWild算法的Blender四边形重拓扑技术深度解析
  • HarmonyOS 拉起系统浏览器与短信界面:WantUtil.toWebBrowser 与 startMMS 实战
  • 请结合以下说明,先完成类似python的内置函数。 然后再去完成内置库(标准款) ‌内置函数‌
  • 2026年6月安庆黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐
  • 基于Arduino Uno与七段数码管的简易任务计数器设计与实现
  • 2026数字展厅设计技术干货:数字孪生沙盘、数字孪生钢厂、数字展厅、数字沙盘、虚拟展厅、设备数字孪生、360全息柜选择指南 - 优质品牌商家
  • 多设备组网与Mesh网络入门
  • 从新手到高手:Smithbox游戏修改工具完全指南 [特殊字符]
  • 2026年更新:浙江生产线定制厂家选型指南与趋势洞察 - 2026年企业资讯
  • 仿真绿植绿化技术核心要点及服务商选择参考推荐:仿真绿植绿化工程/仿真绿植绿化电话/四川仿真绿植绿化/优选指南 - 优质品牌商家
  • Claude Code使用教程(vibe coding) 二
  • GlosSI 入门指南:让 Steam 控制器在任意游戏和应用中畅玩
  • 四川智慧垃圾箱厂家排行:四川楼顶发光字/四川民宿集装箱/四川苹果舱/四川钢结构仿木屋/合规性与服务能力实测对比 - 优质品牌商家
  • 2026年近期如何筛选靠谱的气力输送设备优质厂家:以天顺机械为例的专业解析 - 2026年企业资讯
  • Agent的四种执行模式,解锁人机协作新境界!
  • 如何快速部署HS2-HF Patch:解锁Honey Select 2完整游戏体验的终极指南
  • 别再死记硬背了!用Python手撸一个ID3决策树,从熵到分类器一次搞懂
  • 专为食品进出口打造的外贸ERP!智能生成发票、质检报告高效合规
  • 动手实验:用Python和Mininet验证TCP Cubic/BBR的Jain公平性指数
  • win11中启用经典win10右键菜单和还原默认win11右键菜单如何操作
  • 分立元件无稳态多谐振荡器:用晶体管与RC电路实现LED交替闪烁
  • 告别编译噩梦:我在Ubuntu 18.04/20.04上为Xenomai 3.2.1打Linux 5.10.76补丁的五个关键抉择
  • 2026年当下,迪庆好的学校保洁机构如何选?腾兴物业深度解析 - 2026年企业资讯