[英]How do I convert to type SWIGTYPE_p_void in SWIG generated Java bindings?
[英]how can I set a value of SWIGTYPE like SWIGTYPE_p_LPCSTR using java
如何使用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;
}
}
實際上,我只希望它是一個簡單的類型,例如字符串或整數。我猜這是一個指針,但不知道如何使用它?
這些是不透明的類。 您並沒有真正使用它們,它們只是被傳遞出去了。 請參閱SWIG 3.0文檔
我對這里發生的情況的猜測是,您的標頭有一個LPCSTR,這是一個可能在另一個標頭中定義的宏(可能是char *),而SWIG不知道該宏會擴展為什么,因此它不使用其類型映射表來封裝字符串。 LPCSTR進入此代理類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.