9

我的公司为工程程序开发了一个 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:
  • 值 = NameOfFunction(a,b(),c)
  • C/C++:
  • 值 *NameOfFunction(objtype1 *a, objecttype2 *b[], int c)
  • +描述
  • +示例
4

3 回答 3

3

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++

看看FAQ页面

于 2012-07-12T13:10:03.340 回答
2

Doxygen 网站有一个页面,其中包含指向各种语言的 3rd-party helpers 的链接,您可以调整:

http://www.doxygen.nl/helpers.html

那里提到了 VB 和 MatLab 过滤器。

于 2012-07-12T04:46:47.870 回答
2

我想知道是否有办法让 doxygen/sphinx 或其他程序一次性生成 c/c++、VB 和 matlab 的文档。

Zeus 编辑器具有doxygen 功能,允许您为 Zeus 工作区中的所有项目创建 doxygen 文档。

于 2012-07-12T08:10:29.430 回答