1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Kotlin/Native 0.5 支持在Swift, C和LLVM 5中使用 Kotlin 下载

Discussion in '软件资讯' started by 漂亮的石头, 2017-12-20.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    488,199
    Likes Received:
    47
    Kotlin/Native 圣诞节特别版 —— Kotlin/Native v0.5 已正式发布。该版本的亮点较多,Kotlin/Native v0.5 增加了对在 C, Objective-C APIs 和 Swift 中使用 Kotlin 代码的支持,支持使用 iOS 模拟器的开发,还支持 LLVM 5,还能从 Linux 和 Windows 主机创建 WebAssembly。

    添加从 Swift 和 Objective-C 中调用 Kotlin 代码的支持

    例如下面这行 Swift 代码

    private let parser = KAPPartialParser(composer: KAPCalculator(), partialComposer: PartialRenderer())

    创建 Kotlin 类 PartialParser 的实例,并为其提供实现 Kotlin 接口 ExpressionComposer 的 Swift 类 PartialRenderer 的实例。

    构建项目

    [​IMG]

    IntelliJ IDEA 中的 Kotlin 代码:

    [​IMG]

    Kotlin 与 C 语言的互操作性

    if (PyArg_ParseTuple(args, "Lss", &session_arg, &string_arg1, &string_arg2)) {
    T_(Server) server = getServer();
    T_(Session) session = { (void*)(uintptr_t)session_arg };
    const char* string = __ kotlin.demo.Server.concat(server, session, string_arg1, string_arg2);
    result = Py_BuildValue("s", string);
    __ DisposeString(string);
    } else {
    result = Py_BuildValue("s", NULL);
    }

    Kotlin/Native 编译器生成一个动态库,然后 Python distutils 构建工具生成另一个动态库。因此,Python 启动器代码通过 C 语言桥接调用 Kotlin/Native 对象,并正确转换对象和原始类型。

    其他改进


    • 在Kotlin 1.2中,kotlin.math软件包被添加到 Kotlin 标准库中。该版本已支持kotlin.math包中的操作


    • 支持LLVM 5.0.0,clang工具链和bitcode 代码生成器和优化器也支持


    • 现在可以从Linux和Windows主机生成WebAssembly(-target wasm32)的代码


    • 改进Workers API


    • 漏洞修复和改进

    详细更新说明和下载地址:https://blog.jetbrains.com/
    Kotlin/Native 0.5 支持在Swift, C和LLVM 5中使用 Kotlin下载地址
     
Loading...