Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java设置SWIGTYPE的值,如SWIGTYPE_p_LPCSTR_Java_C++_Java Native Interface_Swig - Fatal编程技术网

如何使用java设置SWIGTYPE的值,如SWIGTYPE_p_LPCSTR

如何使用java设置SWIGTYPE的值,如SWIGTYPE_p_LPCSTR,java,c++,java-native-interface,swig,Java,C++,Java Native Interface,Swig,如何使用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)

如何使用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;
  }
}

实际上,我只希望它是一个简单的类型,比如string或int。我猜这是一个指针,但不知道如何使用它?

这些是不透明的类。你并不是真的使用它们,它们只是传递给别人。 请看

我猜这里发生的事情是,您的头有一个LPCSTR,它可能是在另一个头中定义的宏(可能是char*),SWIG不知道宏扩展到什么,所以它将LPCSTR包装到这个代理类中,而不是使用它的字符串类型映射