簡體   English   中英

如何使用Java設置SWIGTYPE的值,例如SWIGTYPE_p_LPCSTR

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM