#MYaction(myinfo);
大體流程就是這樣;如果用到本體,就用到這個方法
}
呼叫的時候,先初始化:
MYinfo.ByReference myinfo = new MYinfo.ByReference();//這就是你要作為參數傳進去的變數
呼叫:
MYInterface.INSTANCE。 。 。 。用java寫一個MYinfo的類別
public static class MYinfo extends Structure {
public byte[] sType = new byte[16];
public int nVersion;
public static class ByReference extends FACTORY_INFO
implements Structure.ByReference{}//如果作為參數,則用到這個方法
public static class ByValue extends FACTORY_INFO
#implements Structure.ByValue{}//
在NDK中自帶了一個最簡單的sample,從JNI回傳一個string給Java,是這麼用的:
#include
#include
/* This is a trivial JNI example where we use a native method
* to return a new VM String. See the corresponding Java source
* file located at:
*
* apps/samples/hello-jni/project/src/com/example/hellojni/HelloJni.java
*/
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
以上是解決JAVA呼叫DLL的疑問的詳細內容。更多資訊請關注PHP中文網其他相關文章!