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