java通过jnr-ffi调用C++外部函数
文章首发于:clawhub.club
前一阵子碰到个需求,将图片压缩到指定大小(byte),封装成外部服务,期间找过好多方案,最后选用c++操作opencv处理图片,springboot封装成服务。
其中java调用native方法选用了jnr-ffi。这个工具是在以前用lmdb的时候发现的。
jnr的github地址
使用基本上看他的README就可以了。
记一下注意的地方:
- 1、类型对应
String - equivalent to const char *
StringBuffer - equivalent to char * - 2、注解
@out:可以减少一次数据拷贝,详细信息去看源码。1
int test(byte, int size); ByteBuffer
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ClawHub的技术分享!