use*_*819 5 c++ java-native-interface
不熟悉c ++,有人可以帮助我添加cmd到myStr数组并将其传递给main()函数,这是我到目前为止:
JNIEXPORT void JNICALL Java_my_package_JNIActivity_callCmdLine(
JNIEnv *env, jobject obj, jstring cmd)
{
const char *nativeString = env->GetStringUTFChars(cmd, 0);
env->ReleaseStringUTFChars(cmd, nativeString);
char * myStr [] = {"v", nativeString};
//int main(int argc, char *argv[])
main(1, myStr);
}
Run Code Online (Sandbox Code Playgroud)
好吧,在你完成它之前不要释放它.
char * nativeString;
{ const char * _nativeString = env->GetStringUTFChars(cmd, 0);
nativeString = strdup (_nativeString);
env->ReleaseStringUTFChars(cmd, _nativeString);
}
char * myStr [] = {"v", nativeString};
main(1, myStr);
free (nativeString);
Run Code Online (Sandbox Code Playgroud)