我有這樣的事情:訪問從Java結構內的指針數組與痛飲
typedef struct {
char * content;
} Boo;
typedef struct {
Boo **data;
int size;
} Foo;
我想Boo ** data
轉換爲與Boo
元素(Boo[]
)在Java中使用SWIG的數組。然後讀取數組(我不想編輯,刪除並從Java代碼創建一個新的數組)。在SWIG文檔中描述瞭如何使用carrays.i
和array_functions
來完成此操作,但結構的成員data
必須是Boo*
。有沒有解決我的問題?
編輯: 我匆匆忙忙,我忘了寫我想用SWIG生成Java類來與C結構合作。
除非你給'Foo'增加一個長度,否則這聽起來完全不可能,因爲你不能單獨從指針中神奇地推導出長度。 – unwind 2012-08-14 12:36:30
@unwind對不起,我忘了添加'size'成員。我編輯了我的問題。 – 2012-08-14 12:39:30
假設您的數據結構中有3個以上的元素。你將如何訪問第三個元素?假設你有一個對象'Foo x',其中'x.size> = 3'。 – pmg 2012-08-14 12:45:56