Kotlin/Native 如何创建 CPointer 数组?

Kotlin/Native how to create Array of CPointers?

我是 Kotlin/Native 的新手!我想创建一个 CPointer 数组来传递它,但是很难创建一个。

在C/C++中void* a[] = {test}就够了。但我无法在 K/N.

中做同样的事情

我试过了val a: CValuesRef<out COpaquePointerVar> = cValuesOf(test)

但它会导致以下错误:

尝试查看文档并在网上找到它,但其中 none 回答正确。

感谢任何帮助!!

所以我基本上用StableRef

做了我想做的
on_exit(staticCFunction { _, argsPtr ->
    val argsStableRef = argsPtr!!.asStableRef<List<COpaquePointer>>()
    val args = argsStableRef.get()

    // Cleanup code

    argsStableRef.dispose()
}, StableRef.create(listOf(/* All the pointers */)).asCPointer())

基本上将 List<COpaquePointer> 转换为 StableRef 并从中提取指针,然后在需要时通过 asStableRef 取消引用,然后处理它以确保内存已被释放。