Kotlin/Native - 如何使用 C 库和 Klib 文件?

标签 kotlin native

我是 Kotlin/Native 的新手,因为我认为许多其他人都是并且希望使用 Kotlin 的 C 库。那里有文档和一些教程,可以让你获得 85% 的分数,但只是错过了分数。是的,在我问这个问题之前,我试图阅读所有内容。

在 Kotlin 中使用 C 库的流程很容易找到。

1)创建一个.def文件---好的!

2)在.def文件上使用cinterop工具创建.klib文件——OK

----现在你如何使用它??---

具体来说,现在我们有一个 .klib 文件,称之为“XXX.klib”,我们如何导入符号?

是否应该使用 gradle 并添加 klib 文件的依赖项?
是否有默认文件夹结构可以放入 .Klib?
是否应该将 Klib 与包关联起来?

当时我对 gradle 的问题是我真的不明白我正在做的事情与你在互联网上找到的事情有什么关系。有人只是说......“这是我的 gradle 文件”有时确实比它有帮助更多,因为它不会让你更聪明,只是复制它。

我看过链接
https://medium.com/androidiots/the-magic-of-kotlin-native-part-2-49097c2dea1a

我也看过我的问题的一个非常接近的答案
Adding a `.klib` library to kotlin multiplatform

但答案不足。

最佳答案

Here是官方引用的一部分,涵盖了 Kotlin 库的概念。它还解释了如何在命令行中使用它。
关于 Gradle。在 Kotlin/Native 的情况下,可以写一个 task自动生成 C 包装器。为了让自己更熟悉应用于 Kotlin/Native 的 Gradle 脚本,我强烈建议您查看编译器 repository 中的示例.

关于Kotlin/Native - 如何使用 C 库和 Klib 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58307420/

相关文章:

kotlin - IDE 对 Dispatchers.IO 协程中的阻塞调用发出警告

java - 如何在kotlin中对多个列表进行元素求和

c - Gradle C/ native 插件 : Directory Structure, 平台和风格

c++ - VS2012 MSTest 无法捕获断言, native c++

reactjs - 当我在 native react 中按下主屏幕按钮时,如何调用函数

mongodb - KMongo 支持枚举吗?

android - Kotlin -IllegalArgumentException : Parameter specified as non-null is null

android - 在 Kotlin 中使用 "allOf"的 RequiresPermission 注释

java - 无法编译 JNI C 不兼容的指针类型

java - 将 Java ArrayList<String> 传递给 JNI C 函数并在 C 中打印列表