Java JNI如何与Kotlin / Native交互以查找对象值?

时间:2018-01-24 13:18:15

标签: object java-native-interface kotlin native

来自JetBrains网站:

  

Kotlin / Native是一种将Kotlin编译为在没有任何VM的情况下运行的本机二进制文件的技术。

但Kotlin如何与JNI交互,据我所知,如果使用JNI的C / C ++程序想要访问它必须使用GetFieldID函数的java字段,但C程序需要来自JVM描述的信息对象及其价值。

如果Kotlin使得不依赖于VM的程序如何获得Java字段的值,kotlin / Native如何解析字段的值?

1 个答案:

答案 0 :(得分:2)

什么是Kotlin native

Kotlin / Native与JNI不做同样的事情,该网站描述了像这样的Kotlin / Native ......

  

Kotlin / Native是一种将Kotlin编译为在没有任何VM的情况下运行的本机二进制文件的技术。它包含一个基于LLVM的Kotlin编译器后端和Kotlin运行时库的本机实现。 Kotlin / Native主要用于允许编译不适合或不可能使用虚拟机的平台(例如iOS,嵌入式目标),或者开发人员需要生成不需要额外运行时的合理大小的自包含程序。   [Source]

JNI允许Java代码与本机代码通信,而Kotlin / Native允许您将Kotlin代码编译为不需要运行JVM的本机可执行文件。