美文网首页
Kotlin学习笔记-[编译过程]

Kotlin学习笔记-[编译过程]

作者: 王岩_shang | 来源:发表于2017-07-13 21:45 被阅读126次

    前言

    在使用kotlin的过程中,很好奇kotlin是如何能够做到完全兼容java,如何在最后打包进入到dex中。显而易见的,kotlin在编译时最后阶段会产生java字节码,最后通过dx 生成 dex打包进到apk里,不过很好奇中间经过了哪些处理?又有哪些特殊之处?


    编译流程

    这里大致可以看到java整个的编译流程。
    kotlin 也是类似的过程。
    Kotlin编译器在编译前端(即词法分析、语法分析、语义分析、中间代码生成)并没有做让人感到惊讶的事情,和Java是基本一致的。与Java相比,所与众不同,也最重要的细节在编译后端(目标代码生成)环节。Kotlin编译器在目标代码生成环节做了很多类似于Java封装的事情,比如自动生成Getter/Setter代码的生成、Companion转变成静态类、修改类属性为final不可继承等等工作。可以说,大部分Kotlin的特性都在这个环节处理产生。可以这么说,Kotlin将我们本来在代码层做的一些封装工作转移到了编译后端阶段,以使得我们可以更加简洁的使用Kotlin语言。

    具体流程可参考kotlin编译过程分析,写得太好了,我就不浪费大家时间了。

    参考

    相关文章

      网友评论

          本文标题:Kotlin学习笔记-[编译过程]

          本文链接:https://www.haomeiwen.com/subject/wlpghxtx.html