不是要换语言,只是想看看"内存安全"到底长什么样。结论先说:喜欢,但短期不会用来写固件。
最爽的三点
- 编译器像个严格的同事:所有权、借用规则把一辈子的小 bug 提前拦住了;
- 错误信息真的在教你:它会告诉你哪一行、为什么、怎么改;
- Cargo 一统天下:依赖、构建、测试、文档,一条命令全部搞定。
最不适应的三点
String和&str的区别要反复想一遍;- 借用检查器会让你把一个"看起来没问题"的函数重写三遍;
- 编译慢(相比 C 的小工程)。
对嵌入了吗
现在的 Rust 嵌入式生态(embedded-hal、cortex-m-rt)已经能跑,但要考虑:
- 团队和供应链能不能接受;
- 工具链与认证要求(功能安全认证的覆盖面);
- 现有 C 库的互操作成本。
我现在的用法
先写 C 的东西照旧,工具链脚本、日志解析、上位机小工具全换 Rust。 那些场景正好是"逻辑复杂、跑在 PC 上、崩了很烦",收益最大。语言是工具,场景对了才值钱。