问题描述
根据文档
Kotlin / Native是一种将Kotlin代码编译为本地代码的技术 二进制文件,可以在没有虚拟机的情况下运行。它是基于LLVM的 Kotlin编译器的后端以及 Kotlin标准库。
因此,K / N使用LLVM将Kotlin代码编译为iOS的本机代码。 Swift compiler also uses LLVM to optimize and generate machine code。
解决方法
主要区别在于,为iOS编译的Kotlin代码带来了Kotlin / Native运行时,该运行时建立了Kotlin / Native内存模型,该模型旨在安全地concurrency和immutability全局对象,并提供自己的Kotlin对象垃圾收集器。
否则,用Kotlin / Native编译的代码确实具有双向interoperability with Swift,因为您通常在iOS上使用的the Kotlin binary是import in one project with Swift的Objective-C框架。 / p>