2
A
回答
3
聲明指針的struct在你的java類,像這樣:
protected long ptrToX;
接下來,將其設置:
- 獲取使用
(*env)->GetFieldID(...)
- 獲取指針ID字段使用
(*env)->GetLongField(...)
- 使用
(*env)->SetLongField(...)
設置指針
要得到它,只需按照上面提到的前兩步。
一定要記住包含一個終結器,當對象被垃圾收集時,它將負責釋放指針。或者,如果您不希望產生使用終結器所帶來的性能問題,只需提供一個terminate()方法來釋放指針。
1
更好的切換到JNA,這是從C編程到JAVA的非常方便的方式。
相關問題
- 1. 如何通過使用JNI將C結構轉移到java?
- 2. 如何通過JNI將圖像從Java傳遞到Cocos2d-x?
- 3. JNI:從C++傳遞字節到java
- 4. 將結構從VC++傳遞到C#
- 5. 如何通過C++通過JNI傳遞擴展的ASCII字符
- 6. 通過UDP傳遞結構弱類型
- 7. 如何通過引用傳遞結構?
- 8. 將OpenCV輪廓從JNI C++函數傳遞到Java中的Android
- 9. JNI將樹形圖從java傳遞到c
- 10. 將ANSI字符串從Java傳遞到C++(JNI)
- 11. 將結構化數據類型從Fortran傳遞到C++
- 12. 將數據類型從C++傳遞到Java/Java到C++
- 13. 如何在Android和NDK上通過JNI在C和Java之間傳遞複雜結構
- 14. 將指針傳遞到通用結構
- 15. 如何傳遞(通過值)在Objective-C中的結構?
- 16. 如何通過C中的結構傳遞矩陣的地址?
- 17. 如何通過Pinvoke將指針傳遞給結構?
- 18. 如何通過Telnet將Tcl數據結構傳遞給Perl?
- 19. 如何通過引用將結構數組傳遞給函數?
- 20. Android JNI:將std :: string傳遞給Java並返回到C++
- 21. 傳遞字符串數組從Java到C與JNI
- 22. JNI從C傳遞一個字符串到java
- 23. 如何從C++使用JNI將多個參數傳遞給CallObjectMethod
- 24. 如何通過JNI,並通過C++
- 25. 如何將C++函數指針傳遞到庫的JNI函數
- 26. 將指針從JNI傳遞到Java使用long
- 27. 文本傳遞C - > Java使用JNI
- 28. 如何通過JNI將java CharSequence轉換爲C++ char *
- 29. JNI通過引用傳遞失敗
- 30. 傳遞一個類型的結構C++
通常情況下,您需要創建一個Java結構,它是C結構的副本並將其返回。你不能在Java中使用C數據類型(或直接反之亦然) – 2011-02-08 20:45:23