从头文件自动生成C++文件?

Mic*_*yan 26 c++ code-generation

我有一堆带有各种类和函数声明的C++头文件.到目前为止,当我编写声明的类和函数的C++源文件实现时,我已经手动:

  1. 将声明从头文件复制到相应的源文件.
  2. 删除"class classname {"和匹配的"};"
  3. 在所有类函数的名称上添加"classname ::".
  4. 用"{}"替换函数声明后的分号.
  5. 删除关键字"虚拟"和"静态".

只有在完成所有工作之后,我才真正开始实现这些功能.我想知道是否有某个工具可以从".h"文件自动生成".cpp"文件,其中生成的".cpp"包含".h"文件中声明的函数的空存根(并没有给出内联定义).一个UNIX友好的命令行工具将是首选.谢谢.

更新:跨平台工具将是理想的.如果没有,我正在使用Mac OS X 10.6.

moo*_*dow 23

懒惰的C++似乎旨在解决这个问题.

  • @Michael:一旦你拥有了'lzz'的.h和.cpp文件集,那么构建是微不足道的,你只需要将源代码复制到你的mac然后在那里构建它.代码是高质量的C++.当我听到有人说:"我可能花更少的时间来写自己的......".我会对你过去的任何例子感兴趣,结果证明这是真的! (4认同)

kiz*_*zx2 5

我最近发现自己处于你的境地,并且编写了我自己的工具 - impl_me.这是一个使用SWIG作为解析器后端的小型Ruby脚本.它写入stdout,因此您可以与您喜欢的nix工具集结合find/ grep/ sed/ awk根据您自己的喜好进行调整.

因为它是用Ruby编写的,所以它应该是跨平台的.SWIG也是跨平台的,所以一切都应该没问题.

它在这个阶段非常原始,并且在解析奇怪的模板和东西方面不如Lazy C++强大.欢迎捐款:)