-3
私はjcharArray
をJavaからCプログラムに渡していますが、Cプログラムでその配列を使用する方法を知る必要があります。 jcharArray
ビットを私が使用できるもの(char bits[]
)に変換するにはどうすればよいですか?jcharArrayをCのchar []に変換する方法
私はJNI
JNIEXPORT jint JNICALL Java_ex_NistStatisticalTestSuite_frequency
(JNIEnv *env, jclass cls, jcharArray bits, jint jn)
{
printf("running frequency test");
int i;
double f, s_obs, p_value, sum, sqrt2 = 1.41421356237309504880;
int n=jn;
char deletethis=(char)bits[0];
sum = 0.0;
for (i=0; i<n; i++)
sum += 2*1-1;
s_obs = fabs(sum)/sqrt(n);
f = s_obs/sqrt2;
p_value = erfc(f);
return (jint)p_value;
}
を使用してこのコードを書いてみましたが、それはコンパイルに失敗し、言って:
frequency.c:19:2: error: invalid use of undefined type ‘struct _jobject’ char deletethis=(char)bits[0]; ^~~~ frequency.c:19:28: error: dereferencing pointer to incomplete type ‘struct _jobject’ char deletethis=(char)bits[0];
コードを教えてください。何を試しましたか?結果は何でしたか?コンパイルエラーが出ていますか?データは正しく転送されませんか? –
あなたの研究/デバッグの努力をこれまでのところ表示してください。まず[Ask]ページをお読みください。 –