C++ ve JNI'de yeni kullanıcıyım, JVI kullanarak C++ 'da imzasız char *' a java'da byte [] 'i çevirmek için doğru bir yol bulmaya çalışıyorum, ya da tam tersi! (Android üzerinde çalışıyorum) Google ve SO'da bir çözüm aradıktan sonra, java'da C++ 'ye byte [] dönüştürmek için iyi bir ayrıntı bulamadım. Lütfen bana yardım edin ve tersi için bir çözüm sunun (java'daki C++ - bayt [] için imzasız char *). Çok teşekkürlerJava'da byte [] 'i C++' daki imzasız char * 'ya dönüştürmek için doğru bir yol var mı?
- byte [] C++ imzasız char * için java:
JAVA:
private static native void nativeReceiveDataFromServer(byte[] value, int length);
JNI:
... (JNIEnv* env, jobject thiz, jbyteArray array, jint array_length)
{
???
}
PS: Benim sorunum :(Sen tersi dönüştürmek için jbyteArray
jbyteArray as_byte_array(unsigned char* buf, int len) {
jbyteArray array = env->NewByteArray (len);
env->SetByteArrayRegion (array, 0, len, reinterpret_cast<jbyte*>(buf));
return array;
}
içine unsigned char
dizi dönüştürmek için kullanabilir
Elbette öyle. C++ yazamazsınız. Ciddi bir soru değil. – EJP
@EJP Sanırım tüm sorumu okumadınız! Ana soru "Ben C++ ve JNI newbie, ben JNI kullanarak C++ imzasız char * java byta [] byte dönüştürmek için doğru bir yol bulmaya çalışıyorum, ve tersi! .... Lütfen beni düzeltin Yanlışım ve tersi için bir çözüm sağlayın (javada C++ - bayt [] için imzasız char *) "! Bana yardım edebilir misin? Tüm sorumu okumadıysan, notumu düşürmemelisin! –
, C++ kodunu derlemek için bir c derleyicisi kullanmaya çalıştığınız gibi görünüyor. – Zharf