如何使用java设置SWIGTYPE的值,如SWIGTYPE_p_LPCSTR?
我使用来自c ++头文件的swig生成了java接口类。
有一个问题,许多C ++类型被包装到这样的类中:
public class SWIGTYPE_p_LPCSTR {
private transient long swigCPtr;
protected SWIGTYPE_p_LPCSTR(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
swigCPtr = cPtr;
}
protected SWIGTYPE_p_LPCSTR() {
swigCPtr = 0;
}
protected static long getCPtr(SWIGTYPE_p_LPCSTR obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
}
实际上,我只是希望它是一个类似字符串或int的简单类型。我猜这是一个指针,但不知道如何使用它?
答案 0 :(得分:0)
这些是不透明的类。你并没有真正使用它们,它们只是传递它们。 请参阅SWIG 3.0 Documentation
我对这里发生的事情的猜测是你的标题有一个LPCSTR,它是一个可能在另一个标题中定义的宏(可能是char *),SWIG不知道宏扩展到什么,所以不使用它的字符串类型映射它将LPCSTR包装到此代理类中。