我正在使用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