<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Derive on PlumePHP</title><link>https://plumephp.com/tags/derive/</link><description>Recent content in Derive on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Sep 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/derive/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust 宏系统与元编程：声明宏、过程宏与 derive 实战</title><link>https://plumephp.com/rust-macros-metaprogramming/</link><pubDate>Mon, 28 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/rust-macros-metaprogramming/</guid><description>&lt;h2 id="目录"&gt;目录&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#1-%E5%AE%8F%E7%9A%84%E5%AE%9A%E4%BD%8D%E4%B8%8E%E5%88%86%E7%B1%BB"&gt;宏的定位与分类&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-%E5%A3%B0%E6%98%8E%E5%AE%8F-macro_rules"&gt;声明宏 macro_rules!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-%E5%8C%B9%E9%85%8D%E8%A7%84%E5%88%99%E4%B8%8E-token-%E6%B5%81"&gt;匹配规则与 token 流&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-%E8%BF%87%E7%A8%8B%E5%AE%8F%E4%B8%89%E5%A4%A7%E7%B1%BB"&gt;过程宏三大类&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-syn--quote-%E6%93%8D%E4%BD%9C-ast"&gt;syn + quote 操作 AST&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#6-derive-%E5%AE%8F%E5%AE%9E%E6%88%98"&gt;derive 宏实战&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#7-%E5%B1%9E%E6%80%A7%E5%AE%8F%E4%B8%8E%E5%87%BD%E6%95%B0%E5%AE%8F"&gt;属性宏与函数宏&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#8-%E5%AE%8F%E8%B0%83%E8%AF%95%E4%B8%8E%E9%99%B7%E9%98%B1"&gt;宏调试与陷阱&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#9-%E5%AE%8F%E5%9C%A8%E7%94%9F%E6%80%81%E4%B8%AD%E7%9A%84%E7%BB%8F%E5%85%B8%E5%BA%94%E7%94%A8"&gt;宏在生态中的经典应用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#10-%E9%80%9F%E6%9F%A5%E8%A1%A8%E4%B8%8E%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5"&gt;速查表与最佳实践&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="1-宏的定位与分类"&gt;1. 宏的定位与分类&lt;/h2&gt;
&lt;p&gt;Rust 宏是在编译期生成代码的元编程工具，与 C 宏（纯文本替换）不同，Rust 宏&lt;strong&gt;在 token 层操作且遵守作用域规则&lt;/strong&gt;。&lt;/p&gt;</description></item></channel></rss>