Doxygen用于多语言API

时间:2012-07-11 17:53:34

标签: c++ matlab vb6 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)
  • +描述
  • +实例

3 个答案:

答案 0 :(得分:3)

doxygen支持多种语言,

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

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

不,不是这样; doxygen需要了解它所读取的结构。如果您不介意花些时间,可以选择以下几种方法:

是否支持语言X?

  

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

但是,由于您使用的是类似专有的VB,如果您只是将文件扩展名更改为.vb

,则可能会选择此语言。

以下是如何将其与matlab

一起使用 已经支持

python和c ++

查看F AQ页面

答案 1 :(得分:2)

Doxygen网站有一个页面,其中包含指向各种语言的第三方助手的链接,您可以对其进行调整:

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

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

答案 2 :(得分:2)

  

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

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