是否可以在另一个JNI C函数中调用JNI C函数? (直接或间接),或者,正常C函数内的JNI函数?
例如:
int inverse_transform(double real[], double imag[], size_t n) {
return Java_com_example_ffttest_FFTActivity_transform(imag, real, n);
}
稍后在另一个方法中调用和inverse_transform()
。
JNIEXPORT jint JNICALL Java_com_example_ffttest_FFTActivity_convolve(...)
{
....
inverse_transform();
}
这有用吗?我试过但它给了我关于参数的错误,我不知道如何使用* env和obj。
答案 0 :(得分:3)
当然可以。就C而言,这些只是具有有趣名称的函数。
但需要注意的一点是 - 如果JNI函数使用其JNIEnv
参数,则需要从非JNI函数传递有效的函数。
答案 1 :(得分:0)
最后,JNI方法是正常的c ++方法,所以你可以做到这一点。