1
我試圖讓C#在我的java程序中實例化一個類。我有一些簡單的例子工作,但我碰到了問題,我的java類採用字符串數組作爲構造函數。通過JNI將.c文件中的字符串數組傳遞給java dll
我的問題是如何在.c文件中創建一個字符串數組,然後可以傳遞給java類?
在一分鐘我設法通過一個單一的jString對象。
繼承人在我的.c文件中的方法。
jobject newClassInstance()
{
jmethodID MID_init;
jobject obj;
jstring name;
jobjectArray ret;
MID_init = (*env)->GetMethodID (env, jClass, "<init>", "([Ljava/lang/String;)V");
if (!MID_init) {
printf("Error: dllClass.<init>() not found\n");
return NULL;
}
name = (*env)->NewStringUTF(env,"Moo");
obj = (*env)->NewObject(env, jClass, MID_init, name);
if (!obj) {
printf("Error: failed to allocate an object\n");
return NULL;
}
return obj;
}
如果您需要更多信息,請讓我知道。
此致
灰
感謝。我已經設法從各種其他網站將它們組合在一起,但是有必要對其進行檢查:) – user589195
整個JNI在「The Java™Native 接口程序員指南和規範」中進行了說明。您可以在http://java.sun.com/docs/books/jni下載它。我從這裏得到了我對JNI的全部知識。 – wpaulus