Kotlin / Native的官方文档指出Kotlin / Native
..是Kotlin编译器基于LLVM的后端。
据我所理解:
因此,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标准库,或者它是动态链接的?