当前位置:嗨网首页>书籍在线阅读

01-Kotlin Native简介

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

16.1.1 Kotlin Native简介

Kotlin Native是一种将Kotlin源码编译成不需要任何VM支持的目标平台二进制数据的技术,编译后的二进制数据可以直接运行在目标平台上。它主要包含一个基于LLVM的后端编译器和一个Kotlin本地运行时库。设计Kotlin Native的目的是支持在非JVM环境下进行编程,如在嵌入式平台和iOS环境下,如此一来,Kotlin就可以运行在非JVM平台环境下。

LLVM(Low Level Virtual Machine)是一种比较底层的虚拟机技术。它由C++编写而成,主要用来优化应用程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)。LLVM可以有效地解决编译器重复编译代码的问题,而且它制定了LLVM IR这种中间代码表示语言。LLVM IR充分考虑了各种应用场景,有效地提高了代码的编译效率。

在讲解Kotlin Native的具体知识之前,先来看一下计算机高级语言常见的两种流派——编译型语言和解释型语言。

所谓编译型语言,是指使用专门的编译器、针对特定平台/操作系统将某种高级语言源代码一次性编译成该平台硬件能够执行的机器码,编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行。因为编译型语言是一次性编译成机器码的,所以可以脱离开发环境独立运行,而且通常运行效率较高。不过,正因为它只能被编译成特定平台上的机器码,所以生成的可执行程序通常无法移植到其他平台上运行。例如,现在比较流行的C、C++等高级编程语言都属于编译型语言。

而所谓解释型语言,是指使用专门的解释器对源程序进行逐行解释,生成特定平台的机器码并立即执行的编程语言。解释型语言通常不需要进行整体的编译和链接处理,它会把编译型语言中的编译和解释过程混合在一起执行。虽然解释型语言运行效率较低且不能脱离解释器独立运行,但它可以很方便地实现源程序的移植和运行。