霍克莫思-斯芬克斯Autodoc for C
hawkmoth的Python项目详细描述
hawkmoth是对 将用reStructuredText编写的格式化c源代码注释合并到 基于狮身人面像的文件。它使用clang python绑定进行解析,并且 为C API文档生成C域指令,等等。简而言之, 霍克莫思是斯芬克斯汽车公司的C.
hawkmoth的目标是成为使用 狮身人面像,主要通过其设计、实现和使用的简单性。
示例
给定的c源代码带有相当熟悉的文档注释:
/** * Get foo out of bar. */ void foobar();
以及狮身人面像项目中的指令:
.. c:autodoc:: filename.c
您可以将代码文档合并到sphinx中。就这么简单。
您可以记录函数、它们的参数和返回值、结构、联合, 它们的成员,宏,功能类似于宏,枚举,枚举常量, typedef、变量以及未附加通用文档注释 任何符号。
文档
关于如何配置hawkmoth和编写文档注释的文档, 例如,可以在源树中的doc目录中找到, 显然是sphinx格式,并使用指令扩展。预建 文档showcasing what Hawkmoth can do可在Read the Docs找到。
安装
您可以使用以下命令从PyPI安装hawkmoth:
pip install hawkmoth
您还需要安装clang和python 3绑定 您发行版的包管理器;它们不能通过pypi获得。你也可以 需要设置LD_LIBRARY_PATH,以便可以找到clang库。为了 示例:
export LD_LIBRARY_PATH=$(llvm-config --libdir)
或者,安装包可用于:
在sphinxconf.py中,将hawkmoth添加到extensions,并指向 cautodoc_root在源树上。请参阅扩展文档 细节。
开发和贡献
hawkmoth源代码可以在GitHub上找到。开发版本可以是 使用此命令通过git签出:
git clone https://github.com/jnikula/hawkmoth.git
请将错误和功能请求作为github问题提交。贡献是 欢迎通过电子邮件将修补程序发送到邮件列表和作为请求。
依赖关系
- Python3.4
- 狮身人面像1.8
- 叮当6.0
- Clang 6.0的Python 3绑定
- 狮身人面像测试1.0.0(用于开发)
这些是霍克莫目前正在开发和测试的版本 反对。其他版本也可以,但没有保证。
许可证
hawkmoth是自由软件,在2-Clause BSD License下发布。