我使用了字体图:
%include "typemaps.i"
%apply SWIGTYPE * {char *deci};
这是SWIG生成的代理类:
public class SWIGTYPE_p_char {
private long swigCPtr;
protected SWIGTYPE_p_char(long cPtr, boolean futureUse) {
swigCPtr = cPtr;
}
protected SWIGTYPE_p_char() {
swigCPtr = 0;
}
protected static long getCPtr(SWIGTYPE_p_char obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
}
答案 0 :(得分:1)
这似乎微不足道,但你试过了吗?
SWIGTYPE_p_char my_p_char;
毕竟,该类包含的所有内容都是指针地址的长整型表示
显然你只能将它用于一个返回char *或使用char *参数作为伪返回值的c函数
如果你想使用char *输入参数,那么你很可能必须编写某种类型的辅助函数
我最近用SWIG包装了这个函数原型:
int load_config(const char *fn, Config *cfg);
将数据从字符串(char *)
指定的文件加载到我的Config数据结构中我可以通过以下代码从Java中调用它:
example.load_config("test.cfg", cfg);
或者:
String cfg_file = "test.cfg";
example.load_config(cfg_file, cfg);