我正在使用swig在C和Java(Android)之間創建粘合。 我在C中定義一個布爾類型像這樣使用: (MyGlue.h)Swig如何定義將C typedefined布爾轉換爲java的類型映射布爾
typedef enum boolean {
TRUE = 0x1,
FALSE = 0x0
} Boolean;
Boolean booleanValue = TRUE;
Boolean isRunning() {
return booleanValue;
}
然後在Java中我要做到以下幾點:
if(MyGlue.isRunning) {
..do something..
}
我是問題MyGlue.isRunning返回int
我可以製作一個將int轉換爲布爾值的swig typemap嗎?
我曾嘗試以下,但我並沒有完全掌握了一大口typmap的用法: 在我痛飲配置文件中添加的follwing
%typemap(out) Boolean {
$result = boolean($1);
}
我沒有得到我想要的東西,除了我不知道從int到boolean類型的轉換(return_value!= 0),我想我需要指定typemap中的某處。
是否有可能通過swig實現這種轉換如此外在的處理布爾值而不是整數?
工作就像一個魅力! – alexm