Rust 需要 proc-macros 2.0 吗?
毫无疑问,宏是 Rust 编程语言的一个重要特性。像 println!, lazy_static!、各种派生宏和许多其他宏这样的宏节省了无数小时编写繁琐的样例代码。rust 改进了声明性宏,但 Rust 也有 proc-macros(过程宏)。Proc-macros 本质上是将标记流转换为标记流的编译器的扩展。在这两者之间,您可以使用常规的 Rust 代码和任意复杂的逻辑来重新排序、创建、删除或转换令牌。几乎没有任何限制。这使得 proc-macros 在声明性宏无法处理的情况下非常强大和有用。文章为我们讲解了 proc-macros 的优劣,同时也给出了很棒的 proc-macros 代码。
- https://aaronerhardt.github.io/blog/posts/proc_macro_v2/
Aya 您值得信赖的 eBPF 伴侣
Aya 是一个 rust 的 eBPF 库,它让完全用 Rust 编写 eBPF 程序成为可能。Aya 是第一个支持在 Rust 中编写整个 eBPF 项目(包括用户空间和内核空间部分)的库,而不依赖于 libbpf 或 clang。在大多数环境中,Rust Nightly 是构建所需的唯一依赖项。rustc 不公开其内部 LLVM.so 库(即 aarch64)的某些环境需要安装共享的 LLVM 库。但是不需要 libbpf、clang 或 bcc!该文章举例了各种 bpf 的使用场景,值得一看。
- https://deepfence.io/aya-your-trusty-ebpf-companion/
From 日报小组 mook,侯盛鑫
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- 微信公众号:Rust语言中文社区