语言
文章平均质量分 83
GP-Bullet
渊默而雷声
展开
-
Rust裸指针的安全性实例
如果是空指针,则创建一个名为的新实例,并将其封装到一个Box对象中。然后通过函数将其转换为裸指针(即将其所有权转让给全局指针这个操作非常危险,因为裸指针的生命周期并没有明确规定,所以需要注意避免出现内存泄漏或多重释放的问题。如果不是空指针,则说明调度器已经被初始化过了,不能重复初始化。在这种情况下,我们会通过kBUG!()宏打印一个日志信息,然后通过panic!()函数抛出一个恐慌(即类似于抛出一个异常)。这将导致程序崩溃并终止运行。原创 2023-05-10 22:45:28 · 622 阅读 · 1 评论 -
Rust 错误处理
大多数语言并不区分可恢复错误和不可恢复错误,并采用类似异常这样方式统一处理他们。Rust 没有异常。相反,它有 Result 类型,用于处理可恢复的错误,还有 panic!宏,在程序遇到不可恢复的错误时停止执行。原创 2022-11-13 17:52:19 · 771 阅读 · 0 评论