Tag: 编译

将kotlin代码编译为JVM和JavaScript

我真的很喜欢编写一个框架的想法,然后能够将其编译为jvm字节代码以及用于Web的JavaScript使用。 这是目前可能与kotlin编译器?

Intellij IDEAexception构建过程终止(XMx700m)

今天我试图在Intellij中编译,但后来我得到这个错误: 错误:构建过程终止exception:“C:\ Program Files \ Java \ jdk-9.0.1 \ bin \ java”-Xmx700m -Djava.awt.headless = true -Djdt.compiler.useSingleThread = true -Dcompile.parallel = false -Drebuild.on.dependency.change = true -Djava.net.preferIPv4Stack = true -Dio.netty.initialSeedUniquifier = 7650118036197354088 -Dfile.encoding = windows-1252 -Duser.language = en -Duser.country = US -Didea.paths .selector = IntelliJIdea2017.3“-Didea.home.path = I:\ Intellij \ IntelliJ IDEA 2017.3.4”-Didea.config.path = C:\ Users \ hadis.IntelliJIdea2017.3 […]

Kotlin不会创建类文件错误:在intelliJ IDE中无法find或加载主类

我正在创建一个项目中的kotlin文件。 运行.kt文件时不会创建类文件 在java中,如果运行.java文件,则会创建.class文件。 出于某种原因,我无法创建这些.class文件。 而是在输出文件夹中查找。 我尝试重建项目,但没有解决问题

错误:无法find或加载主类Hello.class

尝试最简单的kotlin你好世界可能: thufir@dur:~/kotlin$ thufir@dur:~/kotlin$ ll total 32 drwxr-xr-x 2 thufir thufir 4096 Oct 27 07:28 ./ drwx—— 46 thufir thufir 16384 Oct 27 06:47 ../ -rw-r–r– 1 thufir thufir 104 Oct 27 07:27 Hello.kt thufir@dur:~/kotlin$ thufir@dur:~/kotlin$ kotlinc Hello.kt WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.intellij.util.text.StringFactory to constructor java.lang.String(char[],boolean) WARNING: […]

Kotlin内联函数和Android方法计数

我想了解内联函数如何影响classes.dex和方法的数量。 从我的理解来看,内联函数应该有比方法计数少的开销。 然而,APK分析器给了我相反的结果。 我写了一个小测试来检查这个。 InlineFunction.kt文件: inline fun inlined(block: () -> Unit) { block() } 和MainActivity.kt文件: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) inlined { println(“Inlined”) } } } 从生成的代码的角度来看,它看起来很清楚: public final class MainActivity extends AppCompatActivity { private HashMap _$_findViewCache; protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); String var2 = “Inlined”; System.out.println(var2); […]

用命令行的jar依赖关系编译Kotlin

我有一个混合了Java和Kotlin文件的项目。 直到最近我已经成功地从命令行使用这样一个简单的脚本编译它: export CLASSPATH=java/main # compile Kotlin files find java/main/ -type d \ | xargs kotlinc-jvm -cp java/lib/google-collections-0.9.jar -d java/main/ # compile Java files find java/main/ -name ‘*.java’ | xargs javac 然后我开始使用JGraphT库,所以创建了jgraphi jar的依赖。 该库是从Kotlin文件引用的。 我仍然可以从IntelliJ编译我的项目,但无法使命令行脚本工作。 以下是我所尝试的: 将jar添加到CLASSPATH。 不起作用。 Kotlin编译器没有看到它。 它可能会忽略CLASSPATH。 添加jar作为另一个-cp参数: find java/main/ -type d \ | xargs kotlinc-jvm \ -cp java/lib/google-collections-0.9.jar \ java/lib/jgrapht-core-0.9.1.jar \ […]