TCPはGHCiで動作し、Leksahでコンパイルされたプログラムでプログラムが終了するまでバッファリングされます
-
28-10-2019 - |
質問
開発中のサーバーにコマンドを送信するために、この単純なプロトタイプクライアントを作成しました。GHCiで完全に動作しますが、コンパイルされたバージョンでは、「quit」と入力してプログラムが終了するまで、入力されたすべてのものがバッファリングされます。その時点で、すべての入力テキストが送信されます。
何が間違っているのですか?そして、コンパイルするとなぜ違うのですか?
更新: ghc Main.hs
でコンパイルすると、期待どおりに機能します。この問題は、パッケージ->ビルドを介して Leksah でコンパイルすると発生します。Leksahが使用しているコマンドラインを取得する方法を知っている人はいますか?
システム情報:OSX 10.6、GHC 7.0.3、ネットワーク2.3.0.2 ジェネラコディセタグプレ
解決 2
うーん、私が思っていたのに、レクサは実際にアプリを作成していなかったようです。私はhSetBuffering
呼び出しなしで古いコードを実行していたに違いありません。クリーン&リビルドはそれを整理しました。お詫びと皆さんの時間と助けに感謝します。
編集:見つかりました-他の誰かがこれに混乱した場合に備えて、package-> buildをクリックすると、Leksahはデバッグ/ ghciモードの場合にコンパイル済みアプリを生成しません。>
他のヒント
Leksahは「cabalbuild」を使用し、古いバージョンは「runhaskellSetupbuild」を使用します。
所属していません StackOverflow