Android JNI : Java封装C++

16 篇文章 1 订阅
9 篇文章 0 订阅

Java封装C++

将C++  Java类对等起来
实例化一个Java对象就相当于实例化了一个C++对象

实现原理

指针实质上也是个intlong(视平台而定)类型的变量
在jni方法中实例化c++对象后 返回给java方法 并转化为long变量
java方法根据这个得到的long'句柄' 可以做一系列的对某个C++对象的操作
包括申请 释放等等
C++:
class test {

}

jni:
test* Java_xxx_xx_getCtx {
    test *ctx = new test();
    return ctx;
}

Java:
class testJava {
    static {
        System.loadLibrary('test');
    }
    private long mCppObjPtr;
    public testJava {
        mCppObjPtr = getCtx();
    }

    public native long getCtx();
};

这样将C++和Java的对象对应起来 结构就清晰多了.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值