के पीछे stdout/stderr/stdin धाराओं का उपयोग करना मैं एक छोटा सा हैकेल प्रोग्राम विकसित कर रहा हूं जो सी ++ में विकसित एक बाहरी स्थैतिक पुस्तकालय का उपयोग करता है। यह ghc के एफएफआई (विदेशी फ़ंक्शन इंटरफ़ेस) के माध्यम से lib को एक्सेस करता है। इस पुस्तकालय के अंदर मैं कंसोल में कुछ आउटपुट करना चाहता हूं। हालांकि, यह मुझे दिखता है जैसे कि सी ++ चीजों के पक्ष में stdout के लिए सही हैंडल नहीं है क्योंकि आउटपुट कंसोल पर दिखाई नहीं देता है। तो फिर, मेरे प्रश्न हैं:हैकेल के एफएफआई
- GHC इन तीन धाराओं (stdout, stdin, stderr) का अपहरण या ++ libstdc है बस उन्हें आरंभ नहीं है क्योंकि मैं GHC के साथ जोड़ने कर रहा हूँ है?
- क्या मेरे एफएफआई आयातों को "सुरक्षित" होने की आवश्यकता है यदि वे stdout लिखते हैं?
- मैं सी समारोह में stdout कैसे पास कर सकता हूं? क्या मुझे इसे सीधे पास करना चाहिए या क्या मुझे सी प्रकार की आवश्यकता है?
अतिरिक्त नोट्स: मैं libstdc जोड़ने रहा हूँ निष्पादन के लिए सीधे ++ (अर्थात GHC -lstdC++ ...) जो मैं भोलेपन ग्रहण ऐसा करने का सही तरीका होगा। अच्छी तरह से
अस्वीकरण काम करने के लिए लगता है: अब के लिए फिर भी सुंदर हास्केल के लिए नया है, तो बच्चे होते हैं; पी
यह पता चला समस्या कुर्सी और कीबोर्ड के बीच था। मैंने हास्केल के साथ अपने अनुभवहीनता के कारण एक मूर्खतापूर्ण असंबद्ध गलती की। आपका जवाब काफी मददगार था क्योंकि इससे मुझे यह सुनिश्चित करने में मदद मिली कि stdlibC++ वास्तव में सही ढंग से प्रारंभ होता है और मैं केवल एक मूर्खतापूर्ण था। इस कारण से आप मेरा स्वीकार्य उत्तर प्राप्त करते हैं। धन्यवाद! –