जीएचसी स्टैंड-अलोन बाइनरी का उत्पादन करता है जिसे जीएचसी को स्थापित करने की आवश्यकता नहीं होती है, हालांकि वे कुछ गतिशील पुस्तकालयों के खिलाफ लिंक करते हैं, विशेष रूप से libgmp
। शेष पुस्तकालय आमतौर पर अधिकांश लिनक्स सिस्टम पर बॉक्स से बाहर पाए जाते हैं। मेरा मानना है कि स्थिति विंडोज पर समान है।
आप लिनक्स पर ldd
का उपयोग करने पर निर्भर गतिशील पुस्तकालयों की जांच कर सकते हैं। यहाँ है कि मैं क्या एक साधारण नमस्ते विश्व कार्यक्रम के लिए Ubuntu Natty पर प्राप्त होते हैं:
$ echo 'main = putStrLn "Hello World"' > Hello.hs
$ ghc --make Hello.hs
[1 of 1] Compiling Main (Hello.hs, Hello.o)
Linking Hello ...
$ ldd Hello
linux-vdso.so.1 => (0x00007fffe45ff000)
libgmp.so.3 => /usr/lib/libgmp.so.3 (0x00007f8874cf9000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8874a74000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f887486b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8874667000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f88742d3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f88740b4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8874f7a000)
गतिशील लिंकिंग पर इस पहले के उत्तर को भी देखें, http://stackoverflow.com/questions/6115459/small-haskell-program-compiled-with-ghc-into-huge-binary –
और स्थैतिक लिंकिंग पर, http://stackoverflow.com/questions/5131182/how-to-compile-haskell-to-a-static-library –