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

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

内容简介: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]


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

查看所有标签

猜你喜欢:

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

算法竞赛入门经典(第2版)

算法竞赛入门经典(第2版)

刘汝佳 / 清华大学出版社 / 2014-6-1 / CNY 49.80

《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量......一起来看看 《算法竞赛入门经典(第2版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具