关于
为什么是rust
因为不想学C++,又想要学习一个语言表达力强的,没有GC的语言。Rust是我唯一的选择了。
为什么是操作系统
计算机的几大专业课中,操作系统的学习是最不够深入了。所以希望从实践出发,补全自己计算机专业知识。
感悟
写玩rustlings花费了大概一周的时间,每做两天都会休息一天。整体给人的感受是,难度不大。很多题目的设计不是希望难倒你,而想通过题目让你了解rust的语言特性。rustling的一个大前提就是你已经对其他编程语言有较好的掌握。所以做完全部题目只是rust学习的第一遍入门,还需要入门很多次,才能完全理解这些特性底层逻辑。
我参考的教材是rust圣经,跟题目的顺序有很大的出入,踩了不少坑,要一直翻阅官方文档才能做完题目。
目前遇到比较困难的地方是,裸指针的引用,至今没有完全理解。
还有一些很细节的地方,就是关于文件结构中lib和binary的区别,以下摘自我的笔记
binary 和 lib 只是rust中对源代码文件的类型标注,不是通常意义的二进制可执行文件,不过很接近.
例如src/main.rs
表示,这个文件将会被编译为可执行文件,它是整个项目程序的入口。编译完成后,它将作为可执行文件被用户和其他程序直接调用。
而src/lib.rs
表示, 这个文件是项目的库代码,由main.rs
调用间接使用。这些文件不会被被编译为独立的可执行文件。
lib.rs 可以声明一些模块的存在,然后由其他模块文件对应实现。
还有很多其他小的理解的细节点,需要继续深入理解的。