clang 中的额外宏支持?

发布于 2024-08-24 18:47:52 字数 197 浏览 7 评论 0原文

由于 LLVM/cLang 设计得特别好。

这似乎是增强 C/C++ 宏/预处理器系统的绝佳机会。

有谁知道

  1. Clang 或副项目添加了额外的宏/预处理器功能,
  2. 以使宏系统更强大(例如图灵完备)

注意:我问的是宏。不是 C++ 模板。我希望这个线程是特定于宏/预处理器的。

Since LLVM/cLang is especially well designed.

This seems like a great opportunity to augment the C/C++ macro/preprocessor system.

Does anyone know of

  1. additional macro/preprocessor abilities added by Clang or
  2. side projects to make the macro system more powerful (like turing complete)

Note: I am asking about macros. Not C++ templates. I want this thread to be macro/preprocessor specific.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倥絔 2024-08-31 18:47:52

LLVM/clang 设计得特别好。 clang 预处理器特别好:它跟踪宏扩展等。我怀疑它没有被扩展的原因是 1. 扩展的预处理器是非标准的,2. 没有人这样做。请随意扩展它。正如他们在 LLVM IRC 上所说:“欢迎补丁”,尽管我怀疑非常非标准的预处理器扩展可能不受欢迎。

有关将预处理器发挥到极致的示例,请查看 PL/1。 ;-)

LLVM/clang is especially well designed. The clang preprocessor is especially nice: It keeps track of macro expansions, etc. I suspect the reason that it has not been extended is that 1. An extended preprocessor is non-standard, and 2. No one has done it. Feel free to extend it. As they say on the LLVM IRC: "Patches are welcome", although I suspect that very non-standard preprocessor extensions may not be.

For an example of a preprocessor taken to the ultimate extreme, take a look at PL/1. ;-)

笛声青案梦长安 2024-08-31 18:47:52

为什么不直接使用 M4 作为预处理器呢?

Why don't you just use M4 as a pre-preprocessor?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文