8.JNI(从C调用Java函数)

本文探讨了为何将控制点下移到C/C++层,从古典与新潮视角分析,揭示软硬结合带来的机遇。通过Android框架示例,阐述C层如何调用Java函数,以及如何存取和创建Java对象。同时,详细解析了C++控制权的表现,并给出多段代码实例,展示了从C++到Java的跨层操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 总览

在这里插入图片描述

1. Why?将控制点下移到C/C++层

1.1 古典视角的反思

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2 新潮视角

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.3 软硬结合的机会

在这里插入图片描述

在这里插入图片描述

1.4 软硬结合的范例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 控制点与函数调用

在这里插入图片描述

2.1 EIT造型的典型(反向调用:IoC)

在这里插入图片描述

2.2 也能正向调用

在这里插入图片描述

在这里插入图片描述

2.3 看看Android的范例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.4 C层拥有控制点的比喻

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.5 android框架示例图

在这里插入图片描述

2.6 C++拥有控制权的表现

在这里插入图片描述

3. How(从C调用Java函数)

3.1 控制点的基本特性

在这里插入图片描述

3.2 从C调用Java函数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3 示例说明

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.4 详细代码讲解

在这里插入图片描述

上述的一些变量和函数保存在全局,都是为了后续的函数调用中,方便使用。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4. C存取Java对象的值

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

主线程创建的Handler就属于主线程的邮差

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5. 从C创建Java对象

5.1 控制权说明

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.2 代码讲解

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. 代码详解

在这里插入图片描述

6.1 在Java层创建一个对象

在这里插入图片描述

在这里插入图片描述

6.2 从Java函数调用C函数

在这里插入图片描述

在这里插入图片描述

6.3 创建与this同类的对象

在这里插入图片描述

在这里插入图片描述

6.4 创建与this不同类的对象

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.5 代码范例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7. 总结

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2021、小林子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值