Kotlin JVM和Kotlin Native之间有什么区别?

时间:2019-03-28 21:58:01

标签: kotlin jvm kotlin-native

所以我知道Kotlin Native显然是Native,而Kotlin JVM不是,但是Kotlin JVM和Kotlin Native之间的代码是: 1.不同的编译器和不同的代码 2.不同的编译器和类似的代码 3.不同的编译器和相同的代码 4.以上都不是(请说明)

1 个答案:

答案 0 :(得分:3)

Kotlin / JVM和Kotlin / Native编译器共享前端(执行代码解析,名称解析,类型推断等的部分),但是编译器后端将内部程序表示形式转换为目标代码。 (分别是JVM字节码和LLVM位码)。

两个编译器接受的Kotlin语言是相同的,但是某些功能和检查是特定于平台的。另外,用于Kotlin / JVM和Kotlin / Native的标准库也有足够的差异,请参见Kotlin Standard Library上每个平台上可用的API。

另一个巨大的区别是内存模型:Kotlin / JVM使用Java内存模型,而Kotlin / Native提供its own concurrency and memory model