问题标签 [kotlinc]

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 投票
0 回答
54 浏览

kotlin - 如何找到默认的 kotlin 编译器参数值?

目前我在我的 gradle 构建文件中使用了一堆编译器标志。我确定其中一些是我不希望明确指定的默认值(因此它们会随着编译器的更新而自动更新)。

但我找不到任何关于各种编译器选项默认值的文档。如何确定它们?

0 投票
1 回答
97 浏览

kotlin - 如何从已编译的 kotlin 类中删除调试信息

有什么方法可以让 kotlin 编译器停止向编译的类文件添加调试信息?类似于javac 的-g:none 参数?

0 投票
0 回答
17 浏览

kotlinc - Kotlin 编译器不创建 Kt 文件

我一直在玩 Kotlin 一段时间,但现在我突然遇到了一个问题。

问题很简单:当我用 kotlinc file.kt 编译文件时,我的文件夹中没有 fileKt.class 文件。我得到一个 file.class,但没有 Kt 结尾。

当我尝试使用 kotlinc *.kt 进行编译时,我得到“错误:找不到源文件或目录:*.kt”。问题可能是什么?

0 投票
1 回答
254 浏览

kotlin-js - 如何将 Kotlin 文件编译为 JavaScript?

嗨,我开始在 Node 上使用 KotlinJS,我已经放置了一个非常简单的 kotlin 文件,我想使用原始编译器对其进行kotlinc-js编译。不使用 gradle

这是make我尝试过但没有成功的命令:

它编译得很好,但是当我尝试运行时node main.kt.js

throw new Error("加载模块'main.kt'时出错。找不到它的依赖项'kotlin'。请检查'kotlin'是否在'main.kt'之前加载。"); ^

错误:加载模块“main.kt”时出错。未找到其依赖项“kotlin”。请检查是否在 'main.kt' 之前加载了 'kotlin'。在对象。(/home/nanospicer/KotlinProjects/KotlinScripting/main.kt.js:2:9) 在 Module._compile (node:internal/modules/cjs/loader:1101:14) 在 Object.Module._extensions..js (node :internal/modules/cjs/loader:1153:10) 在 Module.load (node:internal/modules/cjs/loader:981:32) 在 Function.Module._load (node:internal/modules/cjs/loader:822 :12) 在 Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) at node:internal/main/run_main_module:17:47

好的,所以我认为它缺少 kotlin 运行时。我将尝试与 JVM 编译器相同的参数:-include-runtime这会导致错误:

错误:无效参数:-include-runtime 信息:使用 -help 获取更多信息

然后我尝试了:

但它仍然会导致同样的错误。我也尝试删除libraries标志,它也没有工作

0 投票
0 回答
123 浏览

android - Android Kotlin 编译器中使用了哪个 Kotlin 元数据版本

问题

Android 工具使用自定义版本的 Kotlin Compiler

有没有办法了解这个自定义编译器使用哪个版本的 Kotlin 元数据?

语境

  1. 来自 Android-tools 的 Lints/android/tools/external/com-intellij/kotlin-compiler/依赖于某个特定的 Kotlin 元数据。

  2. 您的平均 Kotlin 目标使用不同版本的 Kotlin 编译器。

  3. 因此,您的项目中的 Kotlin 更新,假设 1.5.30 -> 1.6.0-M1 会导致问题:

0 投票
2 回答
770 浏览

kotlin - Kotlin 编译时间极慢

为什么编译和运行 Kotlin 非常慢(至少在我的机器上)?我的机器上安装了最新版本的 Kotlin 编译器。

具体命令:

它太慢了,打印“hello word”最多需要 9 秒。

我最初认为默认情况下它很慢(我使用了 dDcoder 应用程序),但现在我使用了在线游乐场和 Sololearn,它的速度要快得多。

我的 PC 运行的是带有 Core i5 和 4GB RAM 的 Windows 10。

0 投票
1 回答
51 浏览

kotlin - Kotlin 强制显式注释参数名称?@Foo(>>栏<< = 42)

如何强制 Kotlin Annotation 参数的名称显式声明?

据我了解,不可能使用股票 Kotlin 编译器和/或 IDE?我对吗?

如果我们正在考虑自定义实现:

  • Kotlin 生态系统中有现成的解决方案吗?
  • 是否可以使用 Kotlin Compiler Plugin / KSP 实现防护?
0 投票
0 回答
52 浏览

android - 以下注解处理器不是增量的:kotlin-compiler-embeddable

我已经收到这个警告一段时间了:

我相信这是构建时间较慢的原因。但是我找不到与此警告相关的任何内容。有任何想法吗?

0 投票
0 回答
46 浏览

java - 使用 kotlinc 编译嵌套在文件夹中的 .kt 文件

我想使用kotlinc来编译组织在文件夹中的多个文件,就像在这个最小的例子中一样:

在此处输入图像描述

Main.kt只调用helper.kt其中包含

在此处输入图像描述

当我打电话时: kotlinc *.kt -include-runtime -d Main.jar

我得到错误

在此处输入图像描述

我猜问题是 *.kt 不编译嵌套在文件夹中的文件。我该如何改变呢?我在 kotlinc 文档中没有找到它的标志。

0 投票
1 回答
52 浏览

java - 在 Kotlin 中声明常量的所有方式之间的性能差异是什么?

由于 Kotlin 不允许您在 Java 中的classlikestatic成员中直接声明常量,因此我们有几个选项来说明如何在 Kotlin 中做到这一点。我的问题是,每个选项的性能成本是多少,哪个更便宜?我不想知道哪个更具可读性或被认为是最佳实践,我只想从性能的角度来看它。

选项 1:使用伴随对象

所以一个看起来像这样的代码:

在 Java 中看起来像这样:

它创建这个内部类Companion并实例化它。这是多么昂贵?

选项 2:将其声明为顶级变量

所以这:

变成这样:

它创建一个带有static成员的新类。这与使用对象存储它有什么不同?

选项 3:使用外部对象

像这样:

在 Java 中看起来像这样:

类似于声明为顶级,除了创建的类有一个INSTANCE在私有构造函数中初始化的字段。与使用顶级变量相比,这有多昂贵?

选项 4:删除 const 修饰符

因此,您只需使用旧的val

这对我来说是个谜。它不会创建任何额外的类,但也不会获得const修饰符的好处。这意味着该类的每个实例都将拥有自己的 实例TAG,并为其生成 getter 和 setter,对吗?但我也读到JVM 将其优化为常量。所以这个选项比我最初想象的要多。