问题标签 [cinterop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Kotlin Native:C 对象的所有权和生命周期
我一直在尝试用对象控制底层本机对象的生命周期的想法来包装 CPointer 类型的本机对象。
在 C++ 术语中,我会做类似的事情:
甚至:
我什至不确定这是否正确,但这个想法很简单:对象“其他”由 T 类型的对象持有。
问题是我不知道这在 Kotlin 原生中是否可行:
在我看来,竞技场不会自动回收记忆吧?我必须打电话.free()
或.clear()
。
有没有办法达到这样的效果?或者唯一的方法是手动使用memScoped
和调用 arena 的 clear 或 ptr free ?
或者,防止 K/N 中的内存浪费/泄漏的最佳方法是什么?
ios - gradle 的 Kotlin/native cinterop 构建问题
我正在尝试使用 Kotlin 本机和 iOS。我尝试使用raywenderlich的示例作为起点。这个例子有点老了,所以我更新了代码以适应 Kotlin 多平台 1.3.61。我正在使用 AppCode 来构建代码。
我正在努力使用 Kotlin DSL gradle 文件( build.gradle.kts ),该示例使用的是 build.gradle :
我试图将其翻译成我自己的 build.gradle.kts 文件:
从我所看到的 cinterops 工具正在完成它的工作,并正在创建一个 klib 文件和一个 afnetworing.kt ( build/classes/kotlin/ios/main/..... )
但是我无法使用库 AFNetworking!我尝试在 ViewController.kt 文件中添加导入指令:
但这不被认可。这导致项目未构建:
任何人都可以对此有所了解吗?
kotlin-multiplatform - Kotlin/Native cinterop:.def 文件中的 compilerOpts 与 gradle 中的 compilerOpts
cinterop
在for 的文档中Kotlin/Native
,您必须定义一个.def
文件,例如:
compilerOpts
现在您还可以在块中指定 a ,cinterop
例如:
我在这里只举了 Kevin Galligan 的这个例子:KMPFirestore。
我真的很困惑compilerOpts
内部 gradle 和compilerOpts
内部.def
文件有什么区别?
我没有强大的 C 背景,我只是想学习Kotlin Multiplatform
(现在只是想了解如何与 c 或 ObjectiveC 库互操作),但我无法正确设置它们。
我真的很感激一些帮助,因为我什至不完全理解.def
文件是如何工作的。
任何与理解这些事情相关的阅读材料都会有很大帮助。
c - 如何使用 dart ffi 为给定的 C 结构编写绑定?
我试图为以下 C 结构编写 dart ffi 绑定,但我遇到了各种各样的错误。有人可以帮我吗?
也适用于以下代码
我将它用作Pointer<Void>
但我希望能够将它用作CXIndex
.
这适用于提供与libclang
in dart 的绑定的包。欢迎您提出建议。
我在这里先向您的帮助表示感谢。
kotlin - 在 Mac 上哪里可以找到(安装)Kotlin cinterop 工具
我想尝试构建依赖于某些库的 Kotlin/Native 项目。正如文档所解释的,我需要创建 def 文件(我已经创建)并运行cinterop
工具。
但是,我无法在我的 Mac 上找到这个工具,我很好奇它是如何安装的。
你能给我一些建议吗?
kotlin - DWARF 错误:尝试在 Kotlin/Native cinterop 中包含 secext.h 时出现错位的行号部分
我尝试使用 Gradle 在 Kotlin/Native cinterop 中包含 secext.h winapi 标头:
build.gradle
:
src/nativeInterop/cinterop/secext.def
:
src/nativeInterop/cinterop/secext_wrapper.h
:
我使用的 IDE(带有 Kotlin 插件的 IntelliJ Idea)确实看到了 secext.h 中的函数,如果我不使用它们中的任何一个,它就会编译。但是,当我尝试使用GetUserNameExA
时,此错误显示在:linkDebugSharedWindc
:
我真的不知道如何解决它。
kotlin-native - kotlin native cinterop 添加linkerOpts的源码
我将一个头文件及其源代码添加到我的 xcode 项目中。
例如,AddToo.h
以下是源代码
测试.def
当我运行 xcode 项目时,
发生错误
架构 arm64 的未定义符号:“_OBJC_CLASS_$_AddTool”,引用自:
那么我应该先将 AddTool 构建为静态库并将其添加到 .def 文件中的 linkerOpts 吗?
还有其他方法可以解决这个问题吗?
我的 kotlin 版本是 1.3.72
谢谢
kotlin - Kotlin 的 cinterop .def 不适用于相对路径
我有一个需要链接到其他静态库的静态库。
当我尝试运行时./gradlew common:cinteropSomeLibIos
:
我总是得到IllegalStateException: Could not find 'libabseil.a' binary in neither of [external/lib]
我的定义文件:
一切都在 AndroidStudio/IntelliJ 中运行,但是当使用命令行界面或使用 bazel 构建时,我一直收到上述错误。
我尝试添加:
以及在 gradle 文件中设置 linkerOpts ,但这会导致:
有没有办法让它工作,或者至少以 .def 文件中的相对路径可以工作的方式调用 cinterop 任务?
swift - 为什么我不能在 Swift Jupyter Notebook 中导入 Glibc?
当我执行时:
作为在新的 Ubuntu 18.04 GCE VM 上运行的笔记本中的第一行,我收到以下错误消息:
swift - 无法在 Swift 上创建 OSLog 活动
我想使用 OSLog 活动来构建我的日志,但我遇到了 Swift 上缺少所需活动常量的问题,例如OS_ACTIVITY_CURRENT
and OS_ACTIVITY_NONE
,当我尝试创建活动时出现错误:
os.activity
框架有没有任何定义的活动常量的描述(但定义了活动标志OS_ACTIVITY_FLAG_DEFAULT
, OS_ACTIVITY_FLAG_DETACHED
, OS_ACTIVITY_FLAG_IF_NONE_PRESENT
):
如果我们查看 ObjC 标头<os/activity.h>
,我们可以找到这些常量:
看起来 OSLog 在 Swift 上受到限制,那么如何使用 OSLog 活动或在哪里可以找到常量?