用于多语言 API 的 Doxygen

2024-03-15

我的公司开发了一个用于工程程序的 API。它是用 C++ 开发的,但我们为以下语言创建了包装器:

  • 类似于 VB 的专有语言
  • MATLAB
  • 和Python。

目前,文档是由一堆脚本生成的,要保持 100% 的完整性开始变得非常耗时。我想知道是否有一种方法可以让 doxygen/sphinx 或其他程序一次性生成 C/C++、VB 和 MATLAB 的文档。 Python部分是由SWIG完成的。目前输出类似于:

  • 函数名称
  • VB:
  • 函数 NameOfFunction(ByVal a As Long , ByRef b() As Long, ByVal c As Long) As Long
  • MATLAB:
  • 值 = 函数名称(a,b(),c)
  • C/C++:
  • 值 *NameOfFunction(objtype1 *a, objecttype2 *b[], int c)
  • +描述
  • +示例

doxygen 支持多种语言,

要在多个项目或文件夹和语言上使用它,您只需将 doxygen 指向您想要在配置中检查的每个文件夹。

我最喜欢的编程语言是 X。我还能使用 doxygen 吗?

不,不是这样的; doxygen 需要理解它所读取内容的结构。如果您不介意花一些时间,有以下几种选择:

支持 X 语言吗?

如果 X 的语法接近 C 或 C++,那么它可能不太接近 很难调整 src/scanner.l 来支持该语言。这 对于 doxygen 直接支持的所有其他语言(即 Java、IDL、C#、PHP)。如果 X 的语法与 您可以编写一个输入过滤器,将 X 转换为类似的内容 足以让 doxygen 理解 C/C++(这种方法用于 VB、Object Pascal 和 Javascript,请参阅http://www.doxygen.nl/download.html#helpers http://www.doxygen.nl/download.html#helpers)。如果 语法完全不同,可以为 X 编写一个解析器 编写一个生成类似语法树的后端,如下所示 src/scanner.l(以及在读取标签文件时通过 src/tagreader.cpp)。

然而,由于您使用类似专有的 VB,如果您只需将文件扩展名更改为 .vb,它可能会选择这种语言。

这是如何使用它的matlab http://www.mathworks.com/matlabcentral/fileexchange/25925-using-doxygen-with-matlab

已经支持 python 和 c++

看看FAQ http://www.doxygen.nl/manual/faq.html#12 page

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于多语言 API 的 Doxygen 的相关文章

随机推荐