摘要: 首先,我非常感谢cnblogs这么好的一个平台给我们这些计算机方面的人提供这么一个共享的平台! 其次,我希望大家共享知识,共同交流进步! 然后,如果在转载中侵犯了您的权益,请及时联系我。 音频视频: ebaina live555 阅读全文
posted @ 2015-10-30 21:04 PKICA 阅读(255) 评论(0) 推荐(0)
摘要: 在 Rust 中,core::num 模块是标准库中最底层的数值处理单元。由于它属于 core crate,因此在不带操作系统的底层开发(no_std)中依然可用。 以下是 core::num 的核心组成与用途详述: 1. 核心任务:数值类型增强 Rust 的原生数值类型(如 u8, i32, f6 阅读全文
posted @ 2026-02-05 16:33 PKICA 阅读(4) 评论(0) 推荐(0)
摘要: 在 Rust 中,内部可变性(Interior Mutability) 是一种特殊的模式,它允许你在拥有不可变引用(&T)的情况下,仍然能够修改其内部的数据。 这听起来违反了 Rust 的核心借用规则,但它通过将编译期的检查推迟到运行期,为处理复杂的对象关系(如 Arc 或 Rc 的共享数据)提供了 阅读全文
posted @ 2026-02-05 16:24 PKICA 阅读(1) 评论(0) 推荐(0)
摘要: 在 Rust 中,Arc 和 Rc 都是用于实现共享所有权的引用计数智能指针。它们允许一个数据拥有多个“所有者”,直到最后一个所有者消失,数据才会被释放。 它们最大的区别在于:线程安全性。 1. 核心对比 特性Rc<T>Arc<T> 全称 Reference Counted (引用计数) Atomi 阅读全文
posted @ 2026-02-05 15:01 PKICA 阅读(2) 评论(0) 推荐(0)
摘要: 在 Rust 中,当你希望函数参数是一个“特征(Trait)”时,写成 &dyn Trait 或 impl Trait(以及对应的引用形式 &impl Trait)是由 Rust 的内存管理和对象安全性决定的。 其中:impl Trait获取所有权.函数调用后,原变量在外部可能无法再使用。函数内部可 阅读全文
posted @ 2026-02-04 17:01 PKICA 阅读(3) 评论(0) 推荐(0)
摘要: 前面花了很多精力讲解了Rust泛型,不知道大家掌握的咋样了,今天呢,讲一下进阶的东西。 泛型类型的具体化(Monomorphization) 以及 避免无限递归/类型推导困境。 bstr::ByteSlice::find pub fn find<B>(&self, needle: B) -> Opt 阅读全文
posted @ 2026-02-04 13:53 PKICA 阅读(4) 评论(0) 推荐(0)
摘要: 在 Rust 中,数组 [T; N] 是长度固定且在栈(Stack)上分配的连续内存块。虽然数组的大小在编译时就已固定,但它能自动“隐式转换”为切片 &[T],因此你可以直接在数组上调用绝大多数切片的方法。 以下是常用接口及 starts_with 的详细用法: 1. 核心接口:starts_wit 阅读全文
posted @ 2026-02-03 16:38 PKICA 阅读(2) 评论(0) 推荐(0)
摘要: rstest 是目前 Rust 社区中最流行的增强型测试框架。它通过过程宏(Procedural Macros)极大地扩展了标准库 #[test] 的功能。 如果你习惯 Python 的 pytest,你会发现 rstest 的设计思路非常亲切。 在前面的文章中,我们也介绍了test_case测试库 阅读全文
posted @ 2026-02-02 16:50 PKICA 阅读(5) 评论(0) 推荐(0)
摘要: 上一篇我们讲解了过程宏的概念和普通实例,这一章我们深入开展,让你在实战中游刃有余。下面以一个示例展开讲解,方便大家理解。 示例: pub fn derive_enum_string<T: std::str::FromStr + quote::ToTokens>(input: TokenStream, 阅读全文
posted @ 2026-02-02 14:44 PKICA 阅读(8) 评论(0) 推荐(0)
摘要: 1. Cargo包管理机制 因为 Rust 的包管理器 Cargo 默认采用的是“实时校验与动态管理”机制,所以每次编译都会从网络上更新三方库。以下是导致它频繁访问网络的几个核心原因: 1). 索引更新 (Crates.io Index) 即使你没有添加新包,Cargo 默认也会在编译前尝试同步 c 阅读全文
posted @ 2026-01-30 17:30 PKICA 阅读(8) 评论(0) 推荐(0)
摘要: 在 Rust 中,测试主要通过 cargo test 命令执行。根据你的测试代码所在位置(单元测试、集成测试或文档测试),操作方式略有不同: 1. 常用测试指令 目标命令 运行所有测试 cargo test 运行特定函数 cargo test 函数名(支持模糊匹配) 精确匹配函数 cargo tes 阅读全文
posted @ 2026-01-30 17:10 PKICA 阅读(7) 评论(0) 推荐(0)