本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: 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/