对 C / C++ 的模板基本代码生成器有什么建议,专门用于生成重复代码吗?(不是基于 UML / MATLAB 模型或其他高级的东西)。对于这个领域的新手,有什么好的通用教程(不是基于工具的)吗?
我发现GNU Autogen看起来不错,但看起来它需要一个陡峭的学习曲线。我更喜欢 Eclipse 之类的 IDE 插件,易于使用,最重要的是好的教程。
对 C / C++ 的模板基本代码生成器有什么建议,专门用于生成重复代码吗?(不是基于 UML / MATLAB 模型或其他高级的东西)。对于这个领域的新手,有什么好的通用教程(不是基于工具的)吗?
我发现GNU Autogen看起来不错,但看起来它需要一个陡峭的学习曲线。我更喜欢 Eclipse 之类的 IDE 插件,易于使用,最重要的是好的教程。
代码生成的基本概念很简单——人们的需求也很多样化——所以有很多选择。
在不了解您的需求以及您熟悉的工具的更多信息的情况下,我无法给出更具体的建议。
我不熟悉任何提供 Eclipse 插件的东西。
如果您了解 Python,那么 Cog 可以被视为轻量级解决方案:http: //www.python.org/about/success/cog/
查看我对使用 M2T-JET(基于 Eclipse 的轻量级模板生成器)的Java 类的类似问题的回答。JET 与语言无关,您可以从示例中看到它相当容易使用。
我很欣赏使用 Lua 来完成这项任务,例如Templet或其他无数基于 Lua 的预处理器之一。使用 Lua 优于 Python 之类的好处是,如有必要,您可以将源代码包含到您的模板处理器和基本 Lua 安装以及您要交付的任何内容中。然后,您可以像往常一样将 Lua 和后续模板文件的编译添加到构建过程中。
我建议不要使用基于 Python 的解决方案,原因有一个:为了满足每个开发人员对完全不同但不兼容的版本的使用,同时使用各种 Python 是很烦人的。如果您选择使用无法嵌入到树中的语言,则需要确保预计算版本可用。
迟到了,但我会推荐Codeworker它是我发现的唯一工具,可以完成上述工具所做的一切,甚至更多。它具有类似于 Python Cog 的嵌入式生成功能,它具有基于模板的生成,例如 Templet 或 Pump。并且它具有相当有用的保护区功能,因此您可以根据需要自定义代码并重新生成。
我用它来生成所有样板 c++ 代码以及 SQL、config、javascript 等项目的配置。