概要
当 Rust 被用于系统级/嵌入式编程时,它总是不免和目前应用仍最为广泛的 C 语言进行比较。那么 Rust 相比 C 有哪些优势和劣势,值不值得将 C 换成 Rust 呢?
在本文中,我们首先介绍 Rust 设计的三大目标:可靠性、易用性和高性能。而后分别从这三大目标入手来快速介绍 Rust 的一些特性并和其他语言(特别是 C)进行比较。
本文可能比较有趣的部分:在可靠性部分,通过引入若干使用 C 很容易出现的 bug 并展示 Rust 如何在编译期解决它们,来更加形象具体地说明 Rust 的所有权机制和借用规则能够带来什么好处;同时也借此机会说明 Rust 内存模型中的一些核心概念,希望读者能够快速建立起初步的认知。
本文的很多内容来自于 stanford 今年新开的一门 Rust 课程:cs110L-2020spring
流量预警!下面是将 PPT 按页转成图片列在下面,也可以直接查看 pdf版本
我自己是一个有点纸上谈兵的初学者,应该会有很多错误,请大家不吝指出,谢谢!
![26a15d6a8af8fe405b6abec8d6f3fe20.png](https://i-blog.csdnimg.cn/blog_migrate/0e564f6401cc56b501d2e039bf7d47bd.jpeg)
![3cd5ac8c8972d2e56a13aefec4a60b1b.png](https://i-blog.csdnimg.cn/blog_migrate/da2ea760972f413fb0b4ae0656fb279c.jpeg)
![9c90c7088b57c499d37ad1a07cbea0cf.png](https://i-blog.csdnimg.cn/blog_migrate/5ba5dec204a54f67c99db0e1d9847ac0.jpeg)
![b6fadc0fd76dffbc52fe000d799fdac8.png](https://i-blog.csdnimg.cn/blog_migrate/4b362b7a7b96c3eb5e5a702fcfd8f12b.jpeg)
![24fc3fbb354506f4faf0d9a851586d79.png](https://i-blog.csdnimg.cn/blog_migrate/75ddb6a456b6eac173b03062abd8065d.jpeg)
![6cefe9159c2b865fda4f6651c3754f30.png](https://i-blog.csdnimg.cn/blog_migrate/2d2e89620751262345c20d4ae0ad30ad.jpeg)
![8dba78ae03ff6a40f2a6529668331dc3.png](https://i-blog.csdnimg.cn/blog_migrate/9871e5d8b607223c39bf27682cfced52.jpeg)
![480b8f6015c6f24d889df4dd9e017443.png](https://i-blog.csdnimg.cn/blog_migrate/2120de2deacd5cbcee5d67b03c5f0081.jpeg)
![5380710e828a0be1d55a06cd47ed8d18.png](https://i-blog.csdnimg.cn/blog_migrate/5bf10e0d9a8b57930167da4051c4e98e.jpeg)
![6fa01b3675a699da726b32cbf20d26cb.png](https://i-blog.csdnimg.cn/blog_migrate/10038ed2270c2186255baf5a648e5cbc.jpeg)
![99b6db7bd8df2b4f861f9b9b76dbc026.png](https://i-blog.csdnimg.cn/blog_migrate/ac7b0145973b4dcdd565fc6937bb3a90.jpeg)
![3dad9649323f2ff40bca274abc208f16.png](https://i-blog.csdnimg.cn/blog_migrate/500edaf6ae5e75d176c4243c1c28e6b6.jpeg)
![280c96acb98d2dad6258df183012bb82.png](https://i-blog.csdnimg.cn/blog_migrate/fd8f96268c77355d642eae9beb1b4511.jpeg)
![8e854055c5b1b986b73639ca9dc051d9.png](https://i-blog.csdnimg.cn/blog_migrate/85a9ea9d56f72fa5da9238718685ae56.jpeg)
![41a6ed8f8ca86baafffedf2b97d32cc3.png](https://i-blog.csdnimg.cn/blog_migrate/c2b24c58384bdb719fe4daab84d8422e.jpeg)
![729c35145bef04c6933f2e587b6e2bf0.png](https://i-blog.csdnimg.cn/blog_migrate/b20ec045f59b5b6c28cdbb43de8c9539.jpeg)
![fec99484c49095bdda45d5f09c33b451.png](https://i-blog.csdnimg.cn/blog_migrate/6c788dba31901bf3bb30fcc33a03edc6.jpeg)
![f842a01c689cb590d61d23c71f05be85.png](https://i-blog.csdnimg.cn/blog_migrate/0e24de6b5d7f4adae7ed44fc80e3ebd2.jpeg)
![858b6025df68051a044e32aa90e8caf4.png](https://i-blog.csdnimg.cn/blog_migrate/588f4719f16a579411f19a0d7d193223.jpeg)
![f0cc9e29b0386295eb552e8dbf36f453.png](https://i-blog.csdnimg.cn/blog_migrate/49cb624c34bf85d00da8eb3f3f26491a.jpeg)
![5878e5d453dbc7c49a503262729de68a.png](https://i-blog.csdnimg.cn/blog_migrate/25fe9827314fe718e36db43bf431b058.jpeg)
![21d0e56b6e1c115a158f7cd4599c4b2e.png](https://i-blog.csdnimg.cn/blog_migrate/098272e13507edc9f199fb8a475e5f06.jpeg)
![68e8fbc6b8ea1b08dfb95c2041fdfba8.png](https://i-blog.csdnimg.cn/blog_migrate/f5993c3e11286657c819fc13da28f71d.jpeg)
![62b04f61cb6e323a840a635e14493a34.png](https://i-blog.csdnimg.cn/blog_migrate/a987e16a4b2a9623936146fee6ae232f.jpeg)
![c7d258ce6f99b34aad8b5d96548f4526.png](https://i-blog.csdnimg.cn/blog_migrate/93143405cea9dd255f5f6290062ac61e.jpeg)
![760d71e5a4291a251a753508633b14c6.png](https://i-blog.csdnimg.cn/blog_migrate/5d43e5263c603a8ded69e4f81d8a1c05.jpeg)
![a116448248ca5ce22c0fa99e292da10f.png](https://i-blog.csdnimg.cn/blog_migrate/492f984ba6387fe07c0fbb0415eba1ae.jpeg)
![937728667e08240344e694d344ec3423.png](https://i-blog.csdnimg.cn/blog_migrate/16ce7470c0b4ad531efe8f33efdfad92.jpeg)
![4f7b47e241f4483dd15e4e495d300a7c.png](https://i-blog.csdnimg.cn/blog_migrate/2b5ccfbcb8032b79bba98ce618a0d9e7.jpeg)
![d56977427e717abc996699f6f99a14fe.png](https://i-blog.csdnimg.cn/blog_migrate/2cff2becac8ab64cf2e4e0837268f25c.jpeg)
![e481c8b152074931450e1d50cc76ffcf.png](https://i-blog.csdnimg.cn/blog_migrate/eedc93d0d84159e71d2baeb661ef6490.jpeg)
![bfde6b6adfc7c6b3bed1bf6194b534ae.png](https://i-blog.csdnimg.cn/blog_migrate/cc54dbdb3491b07387a3486b13f40dad.jpeg)
![4b865c07170aa7c27c3f20243c2e2d46.png](https://i-blog.csdnimg.cn/blog_migrate/69fc71c072449791bfc940ed70d308bd.jpeg)
![3537953b706b245eb00d233e0453a6af.png](https://i-blog.csdnimg.cn/blog_migrate/0fa2da7b80c8e802d5e8e34fa2fcc29d.jpeg)
![94dfe4568bbc219f81e5d721fcdf216b.png](https://i-blog.csdnimg.cn/blog_migrate/a0f082e2cdb30ade7e3640ba98654abb.jpeg)
![7bfda02d332f6ce61152432086e2ea49.png](https://i-blog.csdnimg.cn/blog_migrate/13fbd148c0f9b632c52b5235c4c5a1be.jpeg)
![1bf0ff559f5a23fc9c5b2518a6cb1f68.png](https://i-blog.csdnimg.cn/blog_migrate/baf15f9ff8ccedf8d09e35ac955ee6db.jpeg)
![c401cb27bcd7cdcf2b115f848c4ee351.png](https://i-blog.csdnimg.cn/blog_migrate/5d8acba80ea3053171153bdefb5e2cb1.jpeg)
![2697d1c7fa7a71de634f0e4597e0d3e6.png](https://i-blog.csdnimg.cn/blog_migrate/5f7021274c94543a4d4eae1e6eb376c6.jpeg)
![3678c973561f9ab68c678e2b8aac3d8b.png](https://i-blog.csdnimg.cn/blog_migrate/4c2e562511611b1676775c608da5a269.jpeg)
![dc1142bf55412cce69de5d17c5f52889.png](https://i-blog.csdnimg.cn/blog_migrate/b5451f1d1bfe3a37ab3297629fbcdd29.jpeg)
![42a3e281cd539f00474936ae8e365de1.png](https://i-blog.csdnimg.cn/blog_migrate/cf529f5de0920368efeaf4e94ce39318.jpeg)
![ee928bc62a561dbb614d6ffc692740d4.png](https://i-blog.csdnimg.cn/blog_migrate/bdea7f193a1bb5632ba13b0e768cc418.jpeg)
![04189f8ffb1bae6604b7abf5e0c11f4b.png](https://i-blog.csdnimg.cn/blog_migrate/4456b1003c58b27ca41a1d2867e56a04.jpeg)
![aa0d977abb190ed3036ff218933bfe8d.png](https://i-blog.csdnimg.cn/blog_migrate/deee9a0c4108ddb8ca7423eb7fb738bf.jpeg)
![5f4151b937f5b5d04258d0ab8a315b2f.png](https://i-blog.csdnimg.cn/blog_migrate/2ae56225a4cf03fe766da52f32a7d412.jpeg)
![e404f7bf986ba9dcacd3080e6af55a58.png](https://i-blog.csdnimg.cn/blog_migrate/30e2b425910e561e7be6a0df9214ce2a.jpeg)
![c7e82badb50588cfb070028a9639d6d9.png](https://i-blog.csdnimg.cn/blog_migrate/2d5af36a61e85b3cb24aca3179a2b637.jpeg)
![e457921306d7548b0512def19413ddf0.png](https://i-blog.csdnimg.cn/blog_migrate/f3b30f7f0041b4c054ca7a4d25819ec6.jpeg)
![34490e9edd0cfafd933895950d0c9b11.png](https://i-blog.csdnimg.cn/blog_migrate/f0e8f3107326730a3adf5020c9030d7c.jpeg)
![847808d51181f9061eb064bc23f4d838.png](https://i-blog.csdnimg.cn/blog_migrate/f9bb085238f208d8dc0c6e2b6c97c67a.jpeg)
![515d405ffca60ad0ab72303310eedffd.png](https://i-blog.csdnimg.cn/blog_migrate/d6d14826fa8cf463cd30d2ee10529c7c.jpeg)
![abd4a35a0f50df9a38911cb2577d6622.png](https://i-blog.csdnimg.cn/blog_migrate/17aa1e26b38c4228b4b131e86a3ec24a.jpeg)
![aa79307dc00bb95da394ececf2ec3143.png](https://i-blog.csdnimg.cn/blog_migrate/63bd93ca88c6d76d771bf9b678d9524c.jpeg)
![e22ee65e0621339dfff141ab378e4611.png](https://i-blog.csdnimg.cn/blog_migrate/7f99e395fd5e20beac33484415530ece.jpeg)