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

栏目: 软件资讯 · 发布时间: 7年前

内容简介:Kotlin/Native 圣诞节特别版 —— Kotlin/Native v0.5 已正式发布。该版本的亮点较多,Kotlin/Native v0.5 增加了对在 C, Objective-C APIs 和 Swift 中使用 Kotlin 代码的支持,支持使用 iOS 模拟器的开发,还支...

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

构建项目

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

IntelliJ IDEA 中的 Kotlin 代码:

Kotlin/Native 0.5 支持在Swift, C和LLVM 5中使用 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.jetbrains.com/


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创新者的处方

创新者的处方

[美]克莱顿·克里斯坦森、杰罗姆·格罗斯曼、黄捷升 / 朱恒鹏、张琦 / 中国人民大学出版社 / 2015-9 / 89.90元

[内容简介] ● 创新大师克里斯坦森采用了哈佛商学院在20年研究中总结而出的、在各行业实践中获得成功的管理创新经验,把颠覆式创新理念引入美国医疗行业研究。医疗机构需要量体裁衣,选择合适的商业模式展开创新之举。 ● 作者同时探讨了医疗保险公司、制药企业、医学院和政府机构在医疗改革中起到的作用,从社会性角度深入剖析了医疗保健行业未来之路。 ● 医疗界人士、政策制定者、对医疗界现......一起来看看 《创新者的处方》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具