从 C 本地导出迭代 Kotlin 映射

Iterating through Kotlin map from C native export

我们有一个本地构建并导出到 C 的 Kotlin 包。我们有包含所有嵌套 structpinned 样式指针的头文件。

在Kotlin代码中,有一个我们要访问的Map。我们可以获取 Kotlin 包枚举(地图的键),但是实际索引到“kref kotlin 地图对象”以获取地图中的值的 C 代码是什么?

基本上,我们想知道如何从 C 代码中操作 Map、List 和 Array。实际步骤 and/or 参考文档将不胜感激。

Kotlin/Native 编译器不会将集合的任何函数导出到本机库 API。这个决定是在一段时间前做出的,目的是尽量减少库头的冗长。但是,这会导致您遇到问题。

目前,推荐的方法是在 Kotlin 代码中编写包装函数。

有关此方法的示例,请参阅 this Kotlin 问题跟踪器上的票证。我还建议订阅它,以尽快获取问题状态的更新。

发布此消息以防某人无法使用票证:

fun getListElement(list: List<Any?>, index: Int) = list.get(index)
/// function accessing the list element by index