'un arkasındaki stdout/stderr/stdin akışlarını kullanarak, C++ 'da geliştirdiğim harici bir statik kütüphaneyi kullanan küçük bir hata programı geliştiriyorum. Libya'ya ghc'nin FFI (yabancı fonksiyon arayüzü) üzerinden erişir. Bu kütüphanenin içinde konsola biraz çıkış yapmak istiyorum. Ancak, görünüyor bana gibi şeyler konsolda görünmüyor çünkü şeyler C++ tarafı stdout için doğru bir tanıtıcı yoktur. Öyleyse, benim sorular şunlardır:Stkut/stderr/stdin akışlarını, FFI
- ghc bu üç akışları (stdout stdin, Stderr) kaçırmak ya da ben ghc ile bağlantı olduğum için sadece onları değil başlatılıyor ++ libstdc mi barındırıyor?
- FFI ithalatımın stdout'a yazıyorsa "güvenli" olması gerekir mi?
- Stdout'u bir C işlevine nasıl geçirebilirim? Sadece doğrudan iletmeli miyim yoksa bir C tipine mi ihtiyacım var?
ek notlar: Ben ++ doğrudan yürütülebilir libstdc bağlama ediyorum (yani ghc -lstdC++ ...) Ben safça bunu yapmanın doğru yolu olacağını kabul hangi. iyi
Yasal çalışmaya görünüyor: şimdilik Haskell oldukça yeni Yine, böylece bebek adımlarıyla P
Sorun sandalye ve klavye arasındaydı ortaya çıktı. Haskell ile yaşadığım tecrübemden dolayı aptalca olmayan bir hata yaptım. Cevabınız oldukça yardımcı oldu çünkü stdlibC++ aslında doğru bir şekilde başlatıyor ve sadece bir moron olmaktan çıktı. Bu nedenle kabul ettiğim cevabı aldınız. Teşekkürler! –