2017年6月22日星期四

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


Linuxeden 开源社区 --Kotlin
Kotlin

我们很高兴地宣布 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 编译器一起使用。

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

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

转自 http://ift.tt/2sH8K25

The post Kotlin/Native v0.3 发布,将 Kotlin 编译成机器码 appeared first on Linuxeden开源社区.

http://ift.tt/2tznArf

没有评论:

发表评论