我想在将我的业务逻辑代码从 JAVA 迁移到 Kotlin/Multiplatform 之前实现一些用例。
其中之一是使用 C++ 代码。
是否可以在 commonMain 级别的 Kotlin/Multiplatform 项目中使用 C++ 代码?
或者我需要为每个平台编写一个包装层(如 JNI)?
我可以得到一些示例代码吗?
非常感谢!
最佳答案
调用 C++ 可能很棘手。您需要在 JVM 上安装 JNI,而在 native 上,您需要用 C(或 Objective-C)包装 C++,然后使用 cinterop 使其可用于 native Kotlin 编译器。然后,通常,您需要编写逻辑的通用版本,并在每个平台上实现。
Kotlin(common)
|
/ \
/ \
Kt(jvm) Kt(native)
/ \
JNI C/ObjC
/ \
C++ C++
最终可能会在 native 上实现直接的 C++ 互操作,但不确定何时。
关于kotlin-multiplatform - 如何将 c++ 代码导入到 commonMain(Kotlin/多平台项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64628976/