Rust 没有异常机制,错误通过 Result<T, E 类型显式传播,编译器强制调用方处理可能的失败。 一、? 运算符与错误转换 ? 在错误时提前返回,并通过 From trait 自动转换错误类型。 二、库与应用的分层策略 库(Library):使用 thiserror 定义具体错误枚举,便于调用方精确匹配 应用(
分类:系统编程
共 15 篇文章系统编程相关技术文章
std::sharedptr 通过引用计数管理堆对象生命周期,其实现依赖堆上的控制块(Control Block)。 一、控制块结构 控制块通常包含: 强引用计数(sharedcount) 弱引用计数(weakcount) 删除器(Deleter)与分配器 使用 std::makeshared 可将对象与控制块一次性分
C++11 引入的 std::atomic 与内存序模型,为无锁编程提供了标准化的语言级支持。 一、六种内存序 memoryorderrelaxed:仅保证原子性,无顺序约束 memoryorderconsume:依赖顺序(实践中较少使用) memoryorderacquire:读操作,后续读写不能重排到其前 memo
Python 标准 asyncio 事件循环基于纯 Python 的 select/epoll 实现,在高并发场景下调度开销较大。uvloop 基于 libuv(Node.js 同款)重写事件循环,可将 I/O 密集型协程服务吞吐提升 2~4 倍。 一、uvloop 安装与集成
Rust 生命周期系统在复杂泛型场景下需要更高级的工具,高阶 trait 约束(HRTB)与 PhantomData 是其中两个重要机制。 一、高阶 trait 约束(HRTB) for<'a 表示对任意生命周期都成立,常用于闭包与 trait 对象场景,避免生命周期被过早固定。 二、PhantomData 的用途 P