首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin多平台:添加一个Kotlin/本机代码作为公共代码

Kotlin多平台:添加一个Kotlin/本机代码作为公共代码
EN

Stack Overflow用户
提问于 2022-06-28 16:42:35
回答 1查看 325关注 0票数 2

我想创建一个与Android和桌面兼容的Kotlin项目。此项目需要绑定到C库。

据我所知,我应该创建一个Kotlin多平台项目,并有一个使用JNI包装C库的通用代码。

但是,Kotlin/Native允许与C库更容易地互操作,所以我想使用它。但似乎Kotlin/是一个平台(相当于jvm或android),因此不能作为通用代码使用。

有办法做我想做的事吗?我找不到任何简单的例子。

如果不可能,为什么?Kotlin/原住民能够瞄准桌面和android平台。如果可以在Android上使用Kotlin/Native,为什么不能从“普通”桌面/android项目中使用Kotlin/Native呢?

EN

Stack Overflow用户

发布于 2022-06-29 09:14:43

通过有一个本机目标,应该可以做到这一点。

请参阅https://kotlinlang.org/docs/native-app-with-c-and-libcurl.html#create-a-definition-file

Kotlin/Native帮助使用标准C库,为您可能需要的几乎任何东西打开了一个完整的功能生态系统。Kotlin/本机已经随一组预先构建的平台库一起提供了,这些库为标准库提供了一些额外的公共功能。

更新:

Kotlin多平台下的“公共”代码:( a)具有与平台无关的Kotlin代码或( b)使用expect/AFAIK来定义平台抽象(AFAIK)。

因为C库不是a),所以您必须定义实际的平台定义,并以JNI结束。

TL; KMP博士不适合你想要做的事情

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72790293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档