2
My C довольно ржавый. Рассмотрим приведенный выше код: должен ли я освобождать память для buf, или каждый вызов использует один и тот же массив buf? Какова наилучшая практика?JNI освобождение памяти
JNIEXPORT jstring JNICALL Java_test_version
(JNIEnv *env, jobject obj, jint handle) {
struct VersionNumber ver;
versionNumber_get((void *) handle, &ver);
char buf[30];
snprintf(buf, 30, "%d", ver.num);
return (*env)->NewStringUTF(env, buf);
}
Вы должны скорее волноваться, использует ли 'NewStringUTF' копию buf – UmNyobe