从C原生导出遍历Kotlin映射

从C原生导出遍历Kotlin映射,kotlin,kotlin-native,Kotlin,Kotlin Native,我们有一个Kotlin包,我们原生构建并导出到C。我们有一个头文件,其中包含所有嵌套的struct和固定的样式指针 在Kotlin代码中,有一个我们想要访问的映射。我们可以获得Kotlin包enum(映射的键),但是实际上索引到“kref Kotlin映射对象”以获得映射中的值的C代码是什么 基本上,我们想知道如何从C代码中操作映射、列表和数组。实际步骤和/或参考文档将不胜感激。Kotlin/Native compiler不会将任何集合函数导出到本机库API。这个决定是很久以前做出的,其目的是尽

我们有一个Kotlin包,我们原生构建并导出到C。我们有一个头文件,其中包含所有嵌套的
struct
固定的
样式指针

在Kotlin代码中,有一个我们想要访问的映射。我们可以获得Kotlin包enum(映射的键),但是实际上索引到“kref Kotlin映射对象”以获得映射中的值的C代码是什么


基本上,我们想知道如何从C代码中操作映射、列表和数组。实际步骤和/或参考文档将不胜感激。

Kotlin/Native compiler不会将任何集合函数导出到本机库API。这个决定是很久以前做出的,其目的是尽量减少库头的冗长。但是,这会导致您面临的问题。现在,推荐的方法是在Kotlin代码中编写包装函数。有关此方法的示例,请参阅Kotlin问题跟踪程序上的ticket。我还建议您订阅它,以便尽快获得问题状态的更新。如果有人无法获得票证,请发布此信息:

fun getListElement(list: List<Any?>, index: Int) = list.get(index)
/// function accessing the list element by index
fun getListElement(list:list,index:Int)=list.get(index)
///函数通过索引访问列表元素