一般情况下使用cargo build –release就可以生成最终构建物并直接执行,理论上将Rust这种语言构建出的hello world体积应该很小。但是实际上用hello world为例
fn main() {
println!("Hello world!");
}
最后构建出的结果有2M。
这个随便搜索一下就可以得到很多优化方法,但是考虑到便利性和收益,这里用最简单的方式来,不考虑代码改动,尽可能不变更构建命令,且跨平台友好。
首先改动Cargo.toml,增加
[profile.release]
opt-level = 'z' # Optimize for size
lto = true
codegen-units = 1
panic = 'abort'
然后使用upx压缩,upx可以自动识别平台和类型,直接传入文件名就行了。
最终大小为86KB。

发表回复