问题标签 [kotlin-native]

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.

0 投票
1 回答
743 浏览

android - iOS 和 Android 上的 Kotlin/Native Garbage 收集

我需要在 Kotlin Native 中为 iOS 和 Android 开发一个多平台模块。根据 kotlinlang 文档:

Objective-C 和 Swift 使用引用计数。Kotlin/Native 也有它自己的垃圾收集。Kotlin/Native 垃圾收集与 Objective-C/Swift 引用计数集成。

是不是说为 iOS 编译的 Kotlin/Native 不使用 CMS(Concurrent Mark Sweep)而使用 ARC(Automatic Reference Counting)?

是否有可能用 Kotlin 编写并为 iOS 编译的通用模块可能会泄漏,而为 Android 编译的相同模块可能完全没问题?

0 投票
1 回答
3993 浏览

kotlin - Kotlin JVM 和 Kotlin Native 有什么区别?

所以我知道 Kotlin Native 显然是 Native 而 Kotlin JVM 不是,而是 Kotlin JVM 和 Kotlin Native 之间的代码: 1. 不同的编译器和不同的代码 2. 不同的编译器和类似的代码 3. 不同的编译器和相同的代码 4. 没有以上(请说明)

0 投票
1 回答
139 浏览

c++ - 以任何编译语言实现以下语法(对于工厂设计模式)?最好是 Kotlin、C++

我想知道以下语法是否可用于编译语言?请不要提供 java,因为它需要 JVM。该设计相当于工厂设计模式,因为我们在正常情况下一旦通过某些测试就初始化一个类,我们使用大量 if-else 语句,即当我们有一系列类时,我们即 10 个类,代码变得笨拙我正在尝试创建一种已转译或编译的语言尚未决定,并且会研究目前正在使用 kotlin-native 和 llvm(尚未排序的 llvm 集成)的已编译语言的功能,它正在启动,这就是我想要考虑使用的。

0 投票
1 回答
1890 浏览

android - 如何在 Kotlin Native 中使用 kotlin.system?

我想使用像 getTimeMillis() 这样的系统函数,它应该是 kotlin.system 的一部分:https ://kotlinlang.org/api/latest/jvm/stdlib/kotlin.system/index.html

但是编译器说这样的模块不能被导入。gradle 配置是这样的(kotlin 多平台项目):

我也找不到任何使用示例或此模块。

0 投票
0 回答
92 浏览

kotlin - Kotlin 静态库需要在 Windows 下链接到哪些其他库?

启动一些多平台 kotlin,我的 Android 工作正常,我还可以从同一源编译静态 Windows 库。这很好:-)

但是,当链接到该静态库时,我会丢失符号错误,例如LNK2019 unresolved external symbol pthread_once referenced in function _ZN5konan5abortEv.

现在我知道这个特定的方法来自 pthread,所以如果我下载并添加那个静态库,我可以修复这个错误。

但是,还有一些其他缺失的符号(例如LNK2019 unresolved external symbol _ZNSt15__exception_ptr13exception_ptrC1ERKS0_ referenced in function _ZL21KonanTerminateHandlerv),我似乎无法找出它们来自哪些库。此外,我在文档中找不到任何依赖项列表。

有谁知道我需要哪些库来链接到 Kotlin Native 在 Windows 上生成的库?

0 投票
1 回答
3005 浏览

c - Kotlin/Native 垃圾收集器如何在 C 中工作?

我在JetBrains FAQ中找到了 Kotlin/Native 内存管理模型的一些解释。

答:Kotlin/Native 提供了一种自动化的内存管理方案,类似于 Java 或 Swift 提供的。当前的实现包括一个带有循环收集器的自动引用计数器来收集循环垃圾。

我或多或少地了解它在 Java 或 Kotlin (JVM) 中的工作原理。任何人都可以详细描述在使用 C 的项目中如何在 Kotlin/Native 中管理内存吗?

另外,如果有垃圾收集器,为什么我们需要 Kotlin/Native 函数 memScoped { }?

另外,我在这里找到:

Kotlin/Native 是一种将 Kotlin 编译为无需任何 VM 即可运行的本机二进制文件的技术。从广义上讲,本机代码是任何内存不由底层框架管理但必须由程序员自己管理的代码。即没有垃圾收集。例如 C++' delete 和 C's free

我认为这与 JetBrains 常见问题解答中的内容相矛盾

0 投票
0 回答
420 浏览

ios - 没有 Unit 返回类型的 Kotlin 多平台 lambda 调用

我有一个适用于 Android 和 iOS 的多平台 Kotlin 项目。公共模块中的函数是这样写的:

Android函数使用:

iOS使用函数:

JVM世界似乎自己处理返回类型(Unit)(不需要返回任何东西),而你必须KotlinUnit()在iOS中返回。

我想在 iOS 上实现同样的效果(没有回调return KotlinUnit()

0 投票
2 回答
361 浏览

ios - 在 Xcode 中分离 arm64 和 x86_64 编译的框架

我已经mylib.framework为 arm64 和 x86_64 架构使用 Kotlin/Native 编译,并使用Embedded Binaries通用选项卡嵌入 arm64 架构。在测试目标中,我使用 x86_64 框架来引用Link Binary With Libraries. 设备的存档和编译效果很好,但测试目标引用的编译过程是 arm64 框架。在测试目标的一般选项卡中,我没有Embedded Binaries部分。

如何告诉 Xcode 使用 arm64 框架进行设备和存档构建以及测试目标使用 x86_64 框架?

0 投票
2 回答
2902 浏览

kotlin - 原生 Kotlin 项目中的 Thread.sleep()

我正在尝试创建一个简单的原生 Kotlin 项目。我希望我的项目在一个过程中等待 X 毫秒:

编译命令:

但我收到以下错误:

我有点困惑,这不是延迟申请的正确方法吗?

0 投票
1 回答
527 浏览

kotlin - 如何在 kotlin native 中修改单例对象

我正在向一些现有库添加 Kotlin 原生 linuxX64 目标支持。库已成功编译,但在运行测试用例时,出现以下运行时错误:

甚至 Kotlin 语言教程中给出的Object 示例 也没有提供类似的运行时异常。

我知道问题是由于冻结的物体造成的。但是我找不到修改单例对象的冻结成员的正确方法。