如何獲取指向Java ByteBuffer內部數組的指針? PS:我這樣做是爲了共享Java和C++所使用的內存。通過JNI獲取Java ByteBuffer的指針
7
A
回答
11
void * data = env->GetDirectBufferAddress(obj);
ByteBuffer必須是直接工作的。
+0
這正是我所需要的。謝謝! –
+0
我想'Byte * data = env-> GetDirectBufferAddress(obj);'會更具描述性。 – Patrick
0
如果你想內m_buffer
返回的第一個元素的地址,那麼你可以這樣做:
return m_buffer;
..或者:
return &m_buffer[0]
相關問題
- 1. 無法獲取JNI環境指針?
- 2. JNI&C - 指針指針
- 3. 通過基指針獲取派生類?
- 4. Java JNI UnsatisfiedLinkError指向指針的C字符指針
- 5. 從JNI操作ByteBuffer
- 6. 通過SocketChannel的ByteBuffer
- 7. JNI環境指針
- 8. JNI - 免費的ByteBuffer從C++
- 9. JNI的ByteBuffer把字節
- 10. 通過指針
- 11. 通過指針
- 12. 通過指針
- 13. 通過指針
- 14. 雙指針的Android JNI
- 15. 帶JNI的指針參數
- 16. 通過引用從java返回JNI
- 17. 通過指針指向指針
- 18. 獲得「指針1」的值通過「指針3」
- 19. 如何獲取Java中的新指針?
- 20. 通過Invocation API獲取的JNI對象引用:local or global?
- 21. 通過取消引用指針獲取值
- 22. 如何通過Lua中的指針獲取函數的名字?
- 23. JNI接口指針混亂
- 24. SQLX通過指針
- 25. 要通過指針
- 26. Ç - 通過指針
- 27. 與通過使用指針的指針的指針
- 28. 通過指針數組增加指針
- 29. 指針通過指針不起作用
- 30. MPI發送通過指針指針c +
你能說清楚你在問什麼嗎?如果你需要返回2個東西,然後返回一個結構。 – Pubby
'm_buffer'已經指向分配的內存嗎?如果是這樣,你爲什麼說'新'? –
我重寫了這個問題 –