• Kotlin/Native v0.3 发布,将 Kotlin 编译成机器码



    http://www.oschina.net/news/86090/kotlinnative-v-0-3


    https://kotlinlang.org/


    发布于2017年06月23日


    我们很高兴地宣布 Kotlin / Native v0.3 发布了。随着版本v0.3的发布,Windows作为编译主机和执行目标以及Google Android设备作为本机活动的执行目标都被支持。所以Windows API'Hello World'将变得很简单:

    import win32.*
    fun main(args: Array<String>) {
      MessageBoxW(null, "Привет!","标题", MB_YESNOCANCEL or MB_ICONQUESTION)
    }

    调试

    新版本支持源级调试(仅限单步)。例如:

    $ bin/konanc string0.kt  -g -o string0
    $ lldb ./string0.kexe
    (lldb) target create "string0.kexe"
    Current executable set to 'string0.kexe' (x86_64).
    (lldb) b string0.kt:1
    Breakpoint 1: where = string0.kexe`kfun:main(kotlin.Array<kotlin.String>) + 4 at string0.kt:1, address = 0x0000000100001344
    (lldb) r
    Process 12288 launched: '/Users/jetbrains/kotlin/kotlin-native-release/kotlin-native/string0.kexe' (x86_64)
    Process 12288 stopped
    * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
        frame #0: 0x0000000100001344 string0.kexe`kfun:main(kotlin.Array<kotlin.String>) at string0.kt:1
    -> 1       fun main(args: Array<String>) {
       2           val str = "hello"
       3           println(str.equals("HElLo", true))
       4           val strI18n = "Привет"
       5           println(strI18n.equals("прИВет", true))
       6           println(strI18n.toUpperCase())
       7           println(strI18n.toLowerCase())
    (lldb) s
    Process 12288 stopped
    * thread #1, queue = 'com.apple.main-thread', stop reason = step in
        frame #0: 0x0000000100001354 string0.kexe`kfun:main(kotlin.Array<kotlin.String>) at string0.kt:3
       1       fun main(args: Array<String>) {
       2           val str = "hello"
    -> 3           println(str.equals("HElLo", true))
       4           val strI18n = "Привет"
       5           println(strI18n.equals("прИВет", true))
       6           println(strI18n.toUpperCase())
       7           println(strI18n.toLowerCase())


    我们引入了一个新的库格式,称为.klib,它将作为Kotlin / Native库的默认分发格式。本地库和框架可以轻松地与.klib进行互操作,并通过指定-library库命令行标志或库Gradle插件选项与Kotlin / Native编译器一起使用。

    二进制文件可以在下面下载:

    完整更新信息请查看发行说明

    Kotlin/Native 能把 Kotlin 编译成机器码,由 JetBrains 公司开发。注意,该项目仍处于实验性阶段,请选择合适的场景进行使用。

    Kotlin/Native 利用 LLVM 将 Kotlin 编译成机器码,现在已支持 4 个平台:

    • Linux (暂时只是 Ubuntu)

    • Mac OS

    • iOS

    • Raspberry Pi


  • 相关阅读:
    第45节:Java当中的变量,面向对象
    第45节:Java当中的变量,面向对象
    第44节:Java当中的JVM
    第44节:Java当中的JVM
    第44节:Java当中的JVM
    第43节:Java学前要点
    第43节:Java学前要点
    第43节:Java学前要点
    排名次SQL语句【名次可重复时】
    js5:框架的使用,使框架之间无痕连接
  • 原文地址:https://www.cnblogs.com/ztguang/p/12644638.html
Copyright © 2020-2023  润新知