Я использую JNI для передачи данных между C ++ и Java. Мне нужно передать «длинный» тип, и я делаю это, используя что-то вроде:
long myLongVal = 100;
jlong val = (jlong)myLongVal;
CallStaticVoidMethod(myClass, "(J)V", (jvalue*)val);
Однако в Java, когда «длинный» получен параметр, он получен как очень большое отрицательное число. Что я делаю не так?