Rust编译出的可执行文件大解决方法

有时会痛苦的感慨Rust程序编译后的文件为什么那么大,而C语言的那么小。其实,Rust之所以大,是因为里面包含了较多的标准库等相关的东西。

当然,Rust体积也是可以缩小的。这里给出两个简单的建议:

  1. 使用–release
cargo build --release
  1. 启用LTO,并strip编译后的二进制文件
    编辑Cargo.toml文件,里面添加lto配置:
[profile.release]
lto = true

上面两种方法是最简单快速的。另外还可以根据实际情况做更多的优化,

【Rust日报】更多提示:

  • 如果你的应用不是内存密集型,使用系统分配器(需要nightly)
  • 你可以开启编译优化等级s/z
  • 还有一点建议对小的可执行文件效果不明显,但是你可以尝试UPX和其他可执行文件压缩,如果你的应用很大的话