热点:

首页 > C++ > 如何用JAVA调用C++
moore8课程图片

如何用JAVA调用C++

课程标签
课程分类
报名人数
66 人已报名
免费
课程介绍

课程介绍

在一些Android应用的开发中,需要通过JNIAndroid NDK工具实现JAVAC/C++之间的相互调用。

Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI是本地编程接口,它使得在Java虚拟机(VM)内部运行的Java代码能够与用其它编程语言(如CC++和汇编语言)编写的应用程序和库进行交互操作。

由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Machine)来执行。在执行Java类的过程中,如果Java类需要与C组件沟通时,VM就会去载入C组件,然后让Java的函数顺利地调用到C组件的函数。此时,VM扮演着桥梁的角色,让JavaC组件能通过标准的JNI介面而相互沟通。

在实际应用中这两者之间的调用关系可以归纳为以下四种方式:

1. 在应用的JAVA代码中调用NDKC/C++实现的函数。

2. NDK开发中的C/C++代码调用应用中JAVA类的静态函数。

3. NDK开发中的C/C++代码调用应用中JAVA类当前传入NDK中的实例的函数。

4. NDK开发中的C/C++代码调用应用中JAVA类新建实例的函数。


欢迎加入摩尔吧直播交流群:569798143   欢迎加入摩尔吧直播交流群:569798143

课程评分
评论
评论
暂无评论~
问答
moore8讲师头像 /200 提问
[最新 的回答] {{question.answer.body}}
时间:{{question.created_at}} 源自:{{question.lecture.title.title}} 收起回答 {{question.num_answers}} 回答
  • [{{answer.user.nick_name}} 的回答] {{answer.body}}
回答
当前还没有提问哦~
moore8双月一讲
moore8stm32
猜你喜欢