美文网首页
javaCPP与ByteBuffer

javaCPP与ByteBuffer

作者: 何亮hook_8285 | 来源:发表于2022-07-12 15:57 被阅读0次

javaCPP命令

#源代码转class类
javac src/main/java/com/xl/javacpp/*.java -classpath lib/javacpp-1.5.7.jar  -d target/classes -encoding utf-8

#class类转C++动态库,根据需求去掉某些参数
java -jar lib/javacpp-1.5.7.jar -classpath target/classes -nocpp -nocompile -nodelete -o foo -Xcompiler -L.   -Dplatform.includepath=$(pwd)/include/ -encoding utf-8 -jarprefix jnidemo com.xl.javacpp.NativeLibrary

传递ByteBuffer

ByteBuffer buffer=ByteBuffer.allocateDirect(8);
buffer.put((byte)3);
buffer.put((byte)4);
buffer.put((byte)6);
buffer.put((byte)7);
buffer.putInt(10000000);
//切换到读模式
buffer.flip();
Processor.putEnv();
Processor.process(buffer,8);
public static native void process(java.nio.Buffer buffer, int size);
static inline void process(void *buffer, int size) {
    std::cout << "Processing in C++..." << size << std::endl;
    char *databuf=(char*)buffer;
    for(int i=0;i<size;i++)
    {
        printf("%d\n",*databuf);
        databuf++;
    }
}

传递JNIENV对象

static void putEnv(void  *jni,void *jc)
{
}
public static native @Raw(withEnv=true) void putEnv();

相关文章

  • javaCPP与ByteBuffer

    javaCPP命令 传递ByteBuffer 传递JNIENV对象

  • java nio

    ByteBuffer 写文件 ByteBuffer读中文文件 ByteBuffer读取普通文件

  • MappedByteBuffer和FileChannel 进行大

    MappedByteBuffer 继承自ByteBuffer ,与 BufferReader等等类似,但是性能上比...

  • 浅谈ByteBuffer与ByteBuf

    I/O 作为开发者,I/O是一定会遇到的。以常见的文件操作为例,原生的java代码如下: 用FileInputSt...

  • 11.15

    Java 中怎么创建 ByteBuffer?1.1 使用allocate()静态方法ByteBuffer buff...

  • Netty内存分配原理

    1 java NIO的ByteBuffer Bytebuffer分为两种:HeapByteBuffer(堆内内存)...

  • ByteBuffer

    缓冲区(Buffer)缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临...

  • ByteBuffer

    测试代码

  • Netty(二) ByteBuf

    Netty ByteBuf 是NIO中ByteBuffer的封装,相比JDK ByteBuffer更加易用; 为读...

  • NIO DirectByteBuffer 内存泄露的测试

    写NIO程序经常使用ByteBuffer来读取或者写入数据,那么使用ByteBuffer.allocate(...

网友评论

      本文标题:javaCPP与ByteBuffer

      本文链接:https://www.haomeiwen.com/subject/tfpobrtx.html