2011-11-28 45 views
16

我想通過一些使用SWIG的C++ API生成C封裝。如何使用SWIG生成C++ API的C封裝?

從SWIG文檔SWIG and C++

6.2方法

爲了總結C++,SWIG使用分層的方法來生成代碼。在最低級別,SWIG 生成程序化ANSI-C樣式包裝的集合。這些包裝文件負責 C++>綁定的基本類型轉換,類型檢查,錯誤處理以及其他低級別細節。這些包裝也足以將C++綁定到 支持內置過程的任何目標語言。從某種意義上講,您可能會將此層包裝看作爲向C++提供C庫接口的 。

但是,我沒有看到任何選擇這樣做,沒有生成在像Python,Ruby等語言中使用API​​的代碼。我怎樣才能得到C封裝?

回答

12

雖然SWIG的主要分支無法生成C++ API的C封裝(引用的SWIG文檔有點令人誤解),但在Google Code Summer 2008中創建了SWIG分支,並且可以在https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd/那。我在這裏找到了答案:C++ to C Wrapper using SWIG (for FLTK)

+4

值得一提的是,今年(2012年)還有另一個GSOC項目[http://sourceforge.net/news/?group_id=1645&id=309764] 。目前尚未完成,但希望這次能夠實現。 – Milliams