में जीएचसी के साथ .hs से .hc तक आउटपुट नहीं कर सकता है, जब मैंने सुना कि जीएचसी सी को फाइल आउटपुट कर सकता है तो मैं चिंतित था।Haskell
ग्लासगो हास्केल कंपाइलर (जीएचसी) कई अलग-अलग आर्किटेक्चर पर देशी कोड के साथ-साथ एएनएसआई सी-सी का उपयोग करके इंटरमीडिएट भाषा के रूप में संकलित करता है।
इसलिए मैंने हास्केल प्लेटफ़ॉर्म स्थापित किया और एक सरल .hs फ़ाइल बनाई।
main = putStrLn "Hello, World!"
और मैनुअल के अनुसार।
-सी रोक सी (.hc फ़ाइल) पैदा करने के बाद
अब मैं आदेश चला।
ghc -C test.hs
लेकिन यह एक .hc फ़ाइल नहीं बनाता है, और न ही यह मध्य संकलन को रोकता है।
$ ls
test.exe test.hi test.hs test.o
क्या आपने सीसी के अलावा -फविया-सी पास करने का प्रयास किया है? आईआईआरसी जीएचसी डिफ़ॉल्ट रूप से सी बैकएंड का उपयोग नहीं करता है (यह सीधे एलवीएम सहित विभिन्न मशीनों के लिए असेंबली उत्पन्न कर सकता है)। – Cubic
मुझे एक चेतावनी मिली कि "-फविया-सी ध्वज कुछ भी नहीं करता है, इसे भविष्य में जीएचसी रिलीज में हटा दिया जाएगा"। अगस्तएसएस, मैं निराश क्यों होगा? –
यह पूरी तरह से सी कोड के विपरीत दिखता है जो मानव लिखता है। यह मूल रूप से अपठनीय है। यह उतना ही कुशल नहीं है जितना आप उम्मीद करेंगे। सी संकलक द्वारा उत्पन्न असेंबली कोड को जोड़कर यह एकमात्र तरीका कुशल हो जाता है। – augustss