2010-11-02 71 views
0

我用Python的SWIG封裝了一個C模塊。有什麼辦法可以將其所有成員都是相同類型(同一種Swig對象)的所有Python列表/元組轉換爲C數組?Python SWIG數組

回答

2

Typemaps。您最可能尋找的是一個「in」typemap,它將Python類型映射到C類型。聲明看起來是這樣的:

%類型映射(中){ /* C代碼到Python元組對象轉換爲C數組*/ }

裏面的類型映射代碼,你可以使用$輸入變量引用PyObject *進行轉換,並將轉換後的C數組分配給$ 1。

http://docs.python.org/c-api/對Python的/ C API,你需要把它解析得到的物品,並將它們轉換爲C.

http://www.swig.org/Doc1.3/Typemaps.html有typemaps的SWIG文檔信息。

該文檔起初可能很難理解,所以請看看/ share中的一些示例類型映射。該目錄中的carrays.i也可能是一個很好的起點。