0%

第一阶段rust学习总结

耗时两周的工作日。

看课程结合rust圣经一起学,收获还行。虽然到目前为止,几乎没有一次是写完代码就直接能够通过编译器检测的。

不过写rust的一个好处就是,通过了编译器基本上代码也就不太愁了,涉及到裸指针这种也有unsafe 知道要着重检查哪里。还记得之前csapp的一个lab用c语言写malloc函数的底层的时候,用了半天的时间写完,结果找bug找了将近两天。指针飞舞,飞到这飞到那,都不知道自己咋错的。

还有一个很nice的地方就是不能隐式类型转换,并且溢出也会报错,参加程序设计竞赛用c++写题目的时候,已经不知道有多少罚时是因为整形溢出造成的了。

不过生命周期真的感觉很头大,现在也还不能够完全把握住。

然后这次写rustlings的时候一开始看到algorithm里面要用到链表的时候就去看了圣经部分的链表,当时看了两天,只感觉,emm这也太难了吧,那各种考虑因素捋了好久才勉强想通一点,到后面还要实现图论,感觉起飞。但真正去看题目的时候,才发现,nm,这直接用的裸指针实现的,后面建图也是用的邻接表建图。。。花了半天多一点的时间搞完就收工了。

接下来就是riscv的学习,之前看csapp学过x86 就把risc-v手册用了半天跳着通读了一下。感觉risc-v寄存器多这一点很舒服,基本上不太用放入栈。然后看了下特权机制,这个之前csapp的x86没说。