小编And*_*eas的帖子

Kotlin代码如何编译成本机代码?

Kotlin / Native的官方文档指出Kotlin / Native

..是Kotlin编译器基于LLVM的后端。

据我所理解:

  • Kotlin编译器(kotlinc)从您的Kotlin源文件生成.class文件(带有Java字节码)。
  • 通用LLVM后端(与Kotlin不相关)采用LLVM IR并将其转换为二进制代码。

因此,Kotlin / Native是否将Java字节码转换为LLVM IR?如果是这样,声明Kotlin / Native是LLVM后端是否正确?Kotlin代码是否可以编译到LLVM IR中?如果不是,那么每个编译步骤的输入和输出是什么?(例如:Kotlin-(kotlinc)-> Java字节码-(LLVM后端->本机二进制)

这篇博客文章指出Kotlin前端编译器(我认为它是指kotlinc)产生了我从未读过的Kotlin IR。

Kotlin编译器只有一个前端,但有多个后端,具体取决于您用来构建代码的插件。Kotlin / Native插件将Kotlin中间表示(IR)转换为本机代码(即,机器可执行的代码)。

这个报价正确吗?

它告诉您Java字节码,本机代码和JavaScript的编译过程相同。您编译Kotlin代码,然后有3个后端编译器提供预期的输出格式(Java字节码,JavaScript,二进制代码)。

最终平台特定的二进制文件是否包含本地Kotlin标准库,或者它是动态链接的?

kotlin kotlin-native

6
推荐指数
1
解决办法
201
查看次数

标签 统计

kotlin ×1

kotlin-native ×1