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;


 

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报