Doxygen用于多语言API

Mac*_*Mac 9 c++ vb6 matlab doxygen python-sphinx

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

  • 一种类似于VB的专有语言
  • MATLAB
  • 和Python.

目前,文档是由一堆脚本生成的,并且开始耗费时间来保持100%.我想知道是否有办法让doxygen/sphinx或其他程序一次性生成C/C++,VB和MATLAB的文档.Python部分由SWIG完成.目前的输出是这样的:

  • NameOfFunction
  • VB:
  • 函数NameOfFunction(ByVal a As Long,ByRef b()As Long,ByVal c As Long)As Long
  • MATLAB:
  • value = NameOfFunction(a,b(),c)
  • C/C++:
  • value*NameOfFunction(objtype1*a,objecttype2*b [],int c)
  • +说明
  • +例子

pyC*_*hon 4

doxygen 支持多种语言,

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

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

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

支持 X 语言吗?

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

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

这是如何在matlab中使用它

已经支持 python 和 c++

查看常见问题解答页面