这主要是一个愚蠢的问题,因为 UPX(一种从可执行文件中提取额外字节的工具)比buildapp工具中的内置压缩节省了少量空间。
一个非常小的演示应用程序会创建一个 42 兆字节的文件。可以理解,因为 SBCL 环境并不小。
传递--compress-core
选项将其buildapp
缩小到 9.2MB。
我想我会尝试将 UPX 扔到生成的二进制文件中,而节省的只是更多的字节:9994288 -> 9871360
但是,生成的文件不再运行 - 它只是跳转到 SBCL REPL(没有错误,就好像我只是手动运行一样sbcl
),并且在那里进行一些探索表明构成我的测试程序的函数不再存在。