- 博客(7)
- 收藏
- 关注
原创 Rust过程宏开发入门
过程宏(Procedural Macros)是Rust元编程的核心工具,它在编译时接收代码作为输入,操作这些代码的抽象语法树(AST),并生成新的代码。与声明宏()不同,过程宏提供了更强大的代码生成能力,是实现自动派生、属性宏和函数式宏的基础。🔧最常见的类型,用于为结构体和枚举自动实现trait:2. 属性宏(Attribute Macros)可以应用于任何项目,提供自定义属性:3. 函数式宏(Function-like Macros)看起来像函数调用的宏:实战:开发一个派生宏
2025-10-30 08:12:32
347
原创 Rust中不可变借用的规则与限制
不可变借用是Rust实现安全并发的基石。通过编译时的借用检查,Rust在零运行时开销的前提下防止了数据竞争、迭代器失效等问题。掌握不可变借用的规则,特别是与可变借用的互斥关系,是编写惯用Rust代码的关键。结合NLL优化和Cow等智能抽象,我们可以在保持安全性的同时实现极致性能。
2025-10-29 15:58:12
519
原创 Rust中所有权与零成本抽象的关系
零成本抽象意味着高级抽象在编译后的机器码中不产生额外的运行时成本。C++首次提出这一概念,而Rust将其推向极致。// 高级抽象// 编译后的机器码等价于:total这就是所有权系统实现零成本抽象的体现 ✨所有权系统是Rust零成本抽象的基石。通过编译时的所有权分析,Rust消除了垃圾回收、运行时类型检查等开销,同时通过借用、迭代器适配器、范型单态化等机制提供了高级的表现力。这种设计让Rust既具有系统语言的性能,又具有高级语言的安全和易用性。
2025-10-29 15:30:38
526
原创 Rust中的Drop trait与资源清理机制
println!("🔒 关闭文件: {}", self.name);// file会自动flush和关闭;logger.log("应用启动")?;logger.log("执行任务")?;Ok(())} // logger被drop,文件自动关闭Droptrait是Rust资源管理的基石,通过确定性析构实现了零成本的资源安全。理解Drop的调用时机、顺序和限制,能够帮助我们设计出既安全又高效的API。
2025-10-29 15:25:57
286
原创 Rust中所有权转移在函数调用中的表现
函数调用中的所有权转移是Rust内存安全的核心机制。通过值传递、不可变借用、可变借用三种模式,Rust在编译时保证了内存安全,无需运行时开销。掌握这些模式,是编写高性能Rust代码的关键。
2025-10-29 15:23:57
386
原创 Rust中的堆内存与栈内存所有权管理
Rust的所有权系统通过明确的规则和编译时检查,在零成本抽象的前提下实现了内存安全。Rust的所有权系统是其最核心的特性之一,它通过编译时检查确保内存安全,无需垃圾回收器。栈内存存储固定大小的数据,遵循LIFO(后进先出)原则,分配和释放速度极快。堆内存用于存储大小在编译时未知或可能变化的数据,如String、Vec等。// println!(“‘{}’ 的长度是 {}”, s1, len);// 复制值,x仍然有效。s.len() // 借用不获取所有权。
2025-10-29 14:46:15
614
原创 昇思25天学习打卡营第三十六天|快速入门
今天学习了昇思MindSpore快速入门,它使用Jupyter袁尚开发模式,采用浏览器登入即可,减去了一些环境配置的繁琐操作,其中变成语言为python,根据它的教学过程进行了一些实操调试,很快达到了预期效果,收获满满的一天。附带一张成功的截图,今日完美收工!
2024-07-29 10:07:33
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅