per*_*316 22 java java-native-interface
我想将一个字符串传递给我正在写的JNI,它必须分配给一个const char*.下面提到我是如何做到的:
JNI...(...,jstring jstr...){
const char* str = env->GetStringUTFChars(jstr,0);
env->ReleaseStringUTFChars(str,jstr,0);
}
Run Code Online (Sandbox Code Playgroud)
但是如果我在分配给jstring后打印const char*str,那么与我直接在JNI和printf中分配str值相比,我看到的是不同的.
这是正确的方法吗?或者是否还有其他方法可以将字符串从java分配给JNI中的const char*?
Jig*_*shi 31
java代码
public static native double myMethod( String path);
Run Code Online (Sandbox Code Playgroud)
C代码
JNIEXPORT jdouble JNICALL Java_your_package_structure_className_myMethod
(JNIEnv * env, jobject jobj, jstring pathObj) {
char * path;
path = (*env)->GetStringUTFChars( env, pathObj, NULL ) ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41426 次 |
| 最近记录: |