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