にC++から「unsigned char型の*」を渡すために、私は「unsigned char型*」を持っていると私は私がJNI:どのようにJavaの
次のようにそれを試してみましたJNI を使用してJavaコードにそれを渡したいですjstring test1;
std::string str(reinterpret_cast<const char*>(ucptest));
test1 = env->NewStringUTF(str.c_str());
ここで、 'ucptest'は 'unsigned char *'で、ascii値を持っています。 このコードは動作し、jstringをJavaコードに正常に渡すことができますが、ロード呼び出しではJVMでクラッシュが発生しています。
クラッシュの原因は何でしょうか?クラッシュは矛盾し、メモリ破損を意味する可能性があります。
誰かが「unsigned char *」をJavaに渡すより良い方法を提案できますか?
ご了承ください。
おかげ
:として
コードを額装することができます、だからそう言いなさい。ポインタをJavaに渡すことは、整数にキャストするのと同じくらい簡単ですが、Javaコードがポインタを使って何もできないため、ポインタは無用になります。 –
いいえ、私はJavaに渡す必要がある 'unsigned char *'という従来のコードを持っています – Vikas
@ user578742はucptest Nullで終了していますか? – josefx