我已經在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