< 返回版块

gensmusic 发表于 2024-01-15 18:03

如何创建两个“简单”的分配器

这篇文章是作者分享的关于构建"简单"分配器的经验。他从构建可以提供4字节对齐和分配内存区块的简单分配器开始。

在 Rust 中,所有的分配器需要始于trait std::alloc::GlobalAlloc,该trait提供了两种方案去分配和回收内存。创建分配器后,它可以在程序中全局使用。作者首先定义了一个包含锁和分配空间的分配器结构体。然后,他创建了一个公共分配器,并在堆中创建了一个 i32。为了使分配器起作用,他检查了内存大小和对齐方式来进行实际的分配。在遇到挑战后,他通过不断尝试和错误找到了解决方法。

原文链接

Rust中的 enum 和模式匹配

本文介绍了 Rust 语言的枚举(Enums)和模式匹配(Pattern Matching)。

Rust 的枚举可具有多个变体,有别于其他语言的命名常量概念。模式匹配则通过 match 和 if let 表达式进行,相比其他语言的 switch 有更大的灵活性与能力。此外,Rust 的枚举可以存储数据,配合 match 表达式,可以解构变体以获取数据。这两大特性为处理不同类型和逻辑提供了强大工具,充分体现了 Rust 对表达力和安全性的重视。

原文链接

Rust全栈开发有一个光明的未来

这是一个油管视频, 作者认为 Rust 作为全栈开发利器,会有一个光明的未来. 并且作者列举了一些目前来说比较常用的框架, 并且对比了 Dioxus 和 Leptos 这两个框架.

油管视频

capnproto-rust: 0.19 版本发布

Cap'n Proto 是一个分布式系统的类型系统。 使用 Cap'n Proto,你可以在一个schema文件中描述你的数据和接口

@0x986b3393db1396c9;

struct Point {
    x @0 :Float32;
    y @1 :Float32;
}

interface PointTracker {
    addPoint @0 (p :Point) -> (totalPoints :UInt64);
}

之后,可以使用 capnp tool 来生成多种语言的代码.

原文链接

--

From 日报小组 BobQ, FBI小白

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页