普通C的预处理器元编程库

时间:2009-12-08 12:20:38

标签: c metaprogramming preprocessor boost-preprocessor

是否有人知道类似于boost::preprocessor的库(可能不是那么先进),可以很容易地使用/合并到普通的C项目中? 当然,在{strong> C 中写作时,boost::preprocessor的大多数(全部?)都可以使用,但我更喜欢一个只有基本功能的小型库,它不依赖于像boost这样的怪物。

3 个答案:

答案 0 :(得分:3)

我建议你使用Boost.Preprocessor。不要以为我没有完全阅读你的问题。我建议你单独使用Boost.Preprocessor,而不是整个boost包。为此,您可以使用一个名为bcp的小工具,它允许您提取所需的库,在您的案例中为Boost.Preprocessor。

答案 1 :(得分:1)

你总是可以使用bcp从boost中提取组件,但是,老实说,我还没有使用Boost.Preprocessor测试它。
我认为你很难找到其他像boost一样便携的实现。

答案 2 :(得分:1)

想到了P99(http://p99.gforge.inria.fr/)。

引用:

  

P99是一套宏和函数定义,可以简化现代C中的编程,又名> C99。通过使用C99中的新工具,我们实现了函数的默认参数,范围界限>资源管理,透明分配和初始化,......