6.3.1 Kotlin/Native
2 分钟阅读
6.3.1 Kotlin/Native
Kotlin/Native 是一种把 Kotlin 代码编译为无需虚拟机即可运行的原生二进制的技术。Kotlin/Native 包含基于 LLVM 的 Kotlin 编译器后端,以及 Kotlin 标准库的原生实现。
为什么选择 Kotlin/Native?
Kotlin/Native 的主要设计目标是支持为那些不适合或无法使用虚拟机的平台(例如嵌入式设备或 iOS)进行编译。当你需要生成一个自包含、不需要额外运行时或虚拟机的程序时,它非常理想。
把编译后的 Kotlin 代码集成到用 C、C++、Swift、Objective-C 及其他语言编写的现有项目中很容易。你也可以直接在 Kotlin/Native 中使用现有的原生代码、静态或动态 C 库、Swift/Objective-C 框架、图形引擎以及其他任何东西。
目标平台
Kotlin/Native 支持以下平台:
- Linux
- Windows(通过 MinGW)
- Android NDK
- 面向 macOS、iOS、tvOS 和 watchOS 的 Apple 目标
注意: 要编译 Apple 目标,你需要安装 Xcode及其命令行工具。
互操作
Kotlin/Native 支持与不同操作系统的原生编程语言进行双向互操作。编译器可以为许多平台创建可执行文件、静态或动态 C 库,以及 Swift/Objective-C 框架。
与 C 的互操作
Kotlin/Native 提供与 C 的互操作。你可以直接在 Kotlin 代码中使用现有的 C 库。
要了解更多,请完成以下教程:
与 Swift/Objective-C 的互操作
Kotlin/Native 通过 Objective-C 提供与 Swift 的互操作。你可以在 macOS 和 iOS 上的 Swift/Objective-C 应用中直接使用 Kotlin 代码。
要了解更多,请完成 Kotlin/Native 作为 Apple 框架教程。
跨平台共享代码
Kotlin/Native 包含一组预构建的平台库,帮助在不同项目之间共享 Kotlin 代码。POSIX、gzip、OpenGL、Metal、Foundation 以及许多其他流行库和 Apple 框架都已预导入,并作为 Kotlin/Native 库包含在编译器发行包中。
Kotlin/Native 是 Kotlin Multiplatform 技术的一部分,后者帮助在包括 Android、iOS、JVM、Web 和原生在内的多个平台之间共享通用代码。多平台库为通用 Kotlin 代码提供必要的 API,并让你可以在一处用 Kotlin 编写项目的共享部分。
内存管理器
Kotlin/Native 使用类似于 JVM 和 Go 的自动内存管理器。它有自己的追踪式垃圾回收器,并且也与 Swift/Objective-C 的 ARC 集成。
内存消耗由自定义内存分配器控制。它优化内存使用,并帮助防止内存分配突然激增。