首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >锈菌proc宏的C++替代

锈菌proc宏的C++替代
EN

Stack Overflow用户
提问于 2020-09-25 05:16:43
回答 1查看 832关注 0票数 2

铁锈有非常惊人的功能,在编译时生成代码使用proc_macros,这是纯锈代码。在C++中是否有类似的东西,可以让我执行真正的C++代码来生成代码,而不是丑陋的定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-25 09:03:21

目前,C++中没有任何东西可以实现与Rust宏相当的功能。

传统上,在C++中,我看到了实现类似效果的两种不同方法:

  • 代码生成:单独的可执行文件作为构建的一部分运行,以生成C++文件。例如,LLVM特性是TableGen
  • 预处理:单独的可执行的预处理C++文件,并在构建过程之前对它们进行转换。例如,QT特性MOC

我认为QT的MOC在精神上更接近于Rust宏,LLVM TableGen更接近于Rust的build.rs

Herb已经提出了元类,它将涵盖proc-宏的一个子集:派生宏。

它不包括使用proc宏来转换函数的代码,或者在原地生成任意代码。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64058215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档