2011-11-03 77 views
7

如何獲取指向Java ByteBuffer內部數組的指針? PS:我這樣做是爲了共享Java和C++所使用的內存。通過JNI獲取Java ByteBuffer的指針

+2

你能說清楚你在問什麼嗎?如果你需要返回2個東西,然後返回一個結構。 – Pubby

+0

'm_buffer'已經指向分配的內存嗎?如果是這樣,你爲什麼說'新'? –

+0

我重寫了這個問題 –

回答

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]