Kotlin本机-执行可执行文件

时间:2018-07-21 23:43:23

标签: kotlin exec shellexecute kotlin-native

我正在尝试通过bash执行命令,例如konanc

在KotlinJVM中,这将仅使用Runtime.getRuntime().exec("...")或使用Process创建ProcessBuilder,但是,这些类在Kotlin-Native中均不可用,因为它们是Java库。

我尝试在文档和本地kotlin GitHub存储库中搜索示例代码,但未找到任何内容。

1 个答案:

答案 0 :(得分:1)

tl; dr不,没有针对Kotlin本机的标准处理api

好吧,原生的kotlin std仍在开发中,我认为进程api不会很快出现。

但是,您可以将互操作性与某些C进程库(例如https://github.com/eidheim/tiny-process-library

)一起使用

方法指南https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md

但是,您也可以使用POSIX的exec / fork调用来生成和创建新进程,我认为kotlin-native确实包括适用于Linux / windows的POSIX。 https://github.com/JetBrains/kotlin-native/tree/master/platformLibs/src/platform有关平台,请参见posix.def。

示例:

import platform.posix.*

fun main(arguments: Array<String>) {
    println("${arguments[0]}")
    execlp("touch", "touch", "${arguments[0]}")
}

使用./file <name>调用它将在当前目录中创建一个以参数name命名的文件。