本地代码通过提供一个本地C字节的数组作为基础,创建一个能够被Java应用程序使用的一个直接字节缓存。
unsigned char* buffer = (unsigned char*) malloc(1024);
...
jobject directBuffer;
directBuffer = (*env)->NewDirectByteBuffer(env, buffer, 1024);
获得这直接的字节缓存区
这直接的字符缓存区也能有Java的应用程序来创建。本地的代码通过使用GetDirectBufferAddress获得本地字节数组的地址。
unsigned char* buffer;
buffer = (unsigned char*) (*env)->GetDirectBufferAddress(env,
directBuffer);