我已经在Java中,下面的代码:JNI通过引用传递失败
class Foo {
public native int bar(String name);
public static void main(String[] args) {
Foo fo = new Foo();
String n = "Name1";
fo.(n);
System.out.println(n);
}
}
而在CI有:
JNIEXPORT jint JNICALL Java_com_ehsunbehravesh_j7_j7win_windows_Computer_getComputerName
(JNIEnv *env, jobject obj, jstring name) {
name = (*env)->NewStringUTF(env, "Name2");
return 0;
}
我认为屏幕上的结果应该是Name2
但它是Name1
我需要返回一个int值,我需要遵守库的标准。所以,如果我使用字符[],而不是它会解决问题? – ehsun7b 2012-02-17 03:31:51
我认为你将不得不进一步了解你想要完成的事情。你能稍微补充一下你的问题吗? – 2012-02-17 03:33:30
我想要做的唯一事情就是操作C中传递的参数,并在Java中访问新值,因为我无法使用'return'命令返回值。值的性质类似于String或char []。 – ehsun7b 2012-02-17 03:48:27