分享

Kotlin/Native 0.5 支持在Swift, C和LLVM 5中使用 Kotlin | Coder·码农

 quasiceo 2018-01-16

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

  发布时间:   文章分类:软件资讯  浏览数:384 我要评论

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 的实例。

构建项目

IntelliJ IDEA 中的 Kotlin 代码:

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./

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多