减少Rust构建物大小

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/05/06/cargo-rust-output-size/



一般情况下使用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。



本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/05/06/cargo-rust-output-size/

发表评论