【发布时间】:2016-11-25 21:40:58
【问题描述】:
这主要是一个愚蠢的问题,因为 UPX(一种从可执行文件中提取额外字节的工具)比 buildapp 工具中的内置压缩节省了少量空间。
一个非常小的演示应用程序会创建一个 42 兆字节的文件。可以理解,因为 SBCL 环境并不小。
将 --compress-core 选项传递给 buildapp 会将其缩小到 9.2MB。
我想我会尝试将 UPX 扔到生成的二进制文件中,而节省的只是多几个字节:9994288 -> 9871360
但是,生成的文件不再运行 - 它只是跳转到 SBCL REPL(没有错误,就好像我只是手动运行了 sbcl),并且在那里进行一些探索表明构成我的函数测试程序不再存在。
UPX 对导致这种破坏的二进制文件做了什么?
【问题讨论】:
标签: common-lisp sbcl upx