【问题标题】:Fatal error: glibc detected an invalid stdio handle when using kotlin-native致命错误:glibc 在使用 kotlin-native 时检测到无效的 stdio 句柄
【发布时间】:2018-08-16 15:57:21
【问题描述】:

我在玩 kotlin-native,试图打开一个文件。该文件已正确打开并创建,但是,在打印到文件时出现错误“致命错误:glibc 检测到无效的 stdio 句柄

进程以退出代码 134 结束(被信号 6:SIGABRT 中断)"

我在这里做错了吗?或者这是一个 kotlin 配置问题?相同的代码在 C 中也可以工作

import kotlinx.cinterop.*
import platform.posix.*

fun main(args: Array<String>) {
    val home = getenv("HOME")?.toKString() ?: "NONE"
    val fopen: FILE = fopen("$home/checkinTime", "w")?.pointed ?: throw RuntimeException()
    val readValue: CValue<FILE> = fopen.readValue();
    fprintf(readValue,"String")
}

【问题讨论】:

    标签: kotlin glibc kotlin-native


    【解决方案1】:

    这段代码完成了这项工作:

    import kotlinx.cinterop.*
    import platform.posix.*
    
    fun main(args: Array<String>) {
        val home = getenv("HOME")?.toKString() ?: "NONE"
        val f = fopen("$home/checkinTime", "w") ?: throw RuntimeException()
        fprintf(f, "String")
        fclose(f)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      相关资源
      最近更新 更多