JMIJNI 的 C++11/14封装

联合创作 · 2023-09-28 12:06

JMI 是 JNI 的 C++11/14封装,目的是为了简化JNI使用。具有以下特点:

- JNI的signature字符串由编译器辅助生成,减少代码量又不会出错

- 支持带出参的方法,如 

void SurfaceTexture.getTransformMatrix(float[] mtx)

对应的C++代码

jfloat mtx[16];
st.call("getTransformMatrix", std::ref(mtx));

 

- jclass、jmethodID、jfieldID都可缓存,使用值转型机制 

- 提供getEnv()来获得JNIEnv而 不需操心线程问题

- 接口简单易用。比如如field接口

auto f = obj.field<jint>("myIntFieldName");
f = 123;
jint value = f;


 

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报