我发现这个特殊的代码非常困难(尤其是因为我一周前才开始玩C).
我一直在努力寻找正确的语法来正确地在C中创建一个java字符串数组(即一个jstring对象数组,即一个表示jstring对象数组的对象).我一直在使用以下资源,从中我已经构建了编译的代码.我不确定之后发生的错误是由于语法错误还是由于完全独立的原因.由于代码大多是孤立的,我假设语法不正确.
代码编译但在传递"FindClass"代码行之后,会发送一个SIGSEGV信号,该信号会终止C进程:
jint size = 5;
jclass StringObject = (*env)->FindClass(env, "java/lang/String");
jobjectArray sampleMessage = (*env)->NewObjectArray(env, size, StringObject, NULL);
jobjectArray returnArray = (jobjectArray) (*env)->NewObjectArray(env, messageCount, &sampleMessage, 0);
Run Code Online (Sandbox Code Playgroud)
有人能指点我这个有用的资源吗?或者确认语法是否正确.
编辑
我的大部分问题是调试此代码导致了问题.我没有时间缩小再现因素,但是通过eclipse跳过gdb-client中的JNI代码并不起作用.