2012-07-11 73 views
7

我想知道是否有任何良好的技術來構建/維護接口上的文檔 。有沒有一種方法可以爲swig接口生成文檔?

我正在構建從C++代碼到使用swig的python接口;主要是我只是 %包括C++頭文件。我正在處理至少幾十個類 和100的函數,所以自動化工具是首選。

理想情況下,我想在C++頭文件中使用doxygen格式的註釋來填充python類/方法中的文檔字符串 。

或者,生成單獨的文檔(以ascii,html ...) 也是有用的。它看起來像在早期版本的swig(1.3和更早版本)中支持 這種功能,但我沒有看到用2.0來執行 的方法。

是否有任何有用的(自動)技術來記錄界面?

回答

1

SWIG 2.0中有一些里程數%feature("autodoc"),我認爲這與目前的情況一樣。

例如:

%module test 

%feature("autodoc", "3"); 

void foo (int *a, void *bar, double epsilon); 

導致一些隱約理智文檔來被插入。

如果這還不夠,我認爲下一個最容易的一步是使用%pythonprepend做出標記這是唯一夠sed或類似可用於插入文檔插入接口SWIG已經自動運行後:

%pythonprepend foo "MARKER" 

然後:

sed -ei 's/MARKER/some documentation' test.py 

在那裏你可以通過使用(Python的?)腳本生成的標記和r後替代他們看在Doxygen的輸出發現功能%pythonprepend聯合SWIG。

7

爲了讓您的doxygen註釋進入python文件,在網頁上存在一個名爲doxy2swig.py的python工具,如here所述。

從您的代碼創建xml文檔。然後使用工具:在你痛飲通過

%的進口接口文件

doxy2swig.py INDEX.XML documentation.i

和進口documentation.i 「documentation.i」

其完成。

+0

鏈接到doxy2swig.py http://svn.cc.gatech.edu/graphs/stinger/tags/v2013-08-27/python/doxy2swig.py – Dave 2014-09-25 12:45:16

+1

我開始[改進版本的doxy2swig.py]( https://github.com/m7thon/doxy2swig)。 – m7thon 2015-07-29 19:36:08

相關問題