gpt4 book ai didi

haskell - 关于Cygwin中Haskell程序的stdout缓冲区的问题

转载 作者:行者123 更新时间:2023-12-02 14:11:06 25 4
gpt4 key购买 nike

我有一个简单的haskell程序,

  • 使用“\ n”提示用户一些消息
  • 等待用户输入
  • 打印用户输入

  • 如果我从命令提示符或从命令提示符启动的cygwin shell启动程序,则可以。

    但是,如果我从连接到本地cygwin环境的ssh shell启动程序,则该程序在退出之前不会将任何内容写回终端。看起来ssh shell中STDOUT的缓冲区不是行缓冲而是块缓冲。

    我不想手动冲洗。我该如何解决该问题?

    最佳答案

    大概您的Haskell程序不是Cygwin程序,即它没有与Cygwin DLL链接。 SSH连接在服务器端分配了一个所谓的伪终端(pty)设备,Cygwin使用Windows管道实现了该设备。非Cygwin程序只能看到管道,而他们可能希望与Windows控制台窗口进行通信。缓冲问题是其可能的后果之一。有关更多说明和可能的解决方法,请参见此线程:http://code.google.com/p/mintty/issues/detail?id=56

    关于haskell - 关于Cygwin中Haskell程序的stdout缓冲区的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689139/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com