![](/img/trans.png)
[英]How do I get the "native" window handle in Java to be passed via JNI to C++ written DLL?
[英]Why are incorrect values being passed between Java and C++ via JNI?
我想使用JNI將C ++中的double值傳遞給Java(Android)。
相關的C ++代碼:
JNIEXPORT jdouble JNICALL
Java_test_MPEG_DASH_ffmpeg_PlayerUI_Notif(JNIEnv* env, jobject obj,jint st){
jdouble p=receiver->buffer->Notify();
LOGI("Notifyyyyyyyyy from jni is %d ",p);
return p;
}
顯示35,36等
通過調用本機方法在Java中訪問時,將返回錯誤的值:0.0000133333
相關的Java代碼:
double buf=Notify();
Log.d(TAG, "Bufffffffffffffffffffffffffer :"+buf" ms");
為什么值不一致?
“%d”不是與浮點類型兼容的格式說明符。 如果使用它,將強制誤解構成jdouble的位,並打印不正確的值。
返回Java的值可能是正確的(那里有相當多的類型強制執行),並且記錄不正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.