有时会痛苦的感慨Rust程序编译后的文件为什么那么大,而C语言的那么小。其实,Rust之所以大,是因为里面包含了较多的标准库等相关的东西,因此我们无须对体积大而感到烦恼,反而应该开心,毕竟有那么多std可以用了。
当然,Rust体积也是可以缩小的。这里给出两个简单的建议:
- 使用--release
cargo build --release
- 启用LTO,并strip编译后的二进制文件
编辑Cargo.toml文件,里面添加lto配置:
[profile.release]
lto = true
上面两种方法是最简单的。另外还可以根据实际情况做更多的优化,这里暂不做陈述,因为笔者也未掌握,以后研究透了在做补充。