Static Libraries (.lib, .a) and Shared Library (.dll, .so)

By author image icon आशुतोष कुमार

दिनांक : November 27, 2022

एक library जो पहले से compile ऑब्जेक्ट फाइल को संग्रह होता हैं|  जो हमरे प्रोग्राम से लिंक किया जाता हैं Linker की मदद से। इस लिंकिंग को दो प्रकार से कर सकते हैं। और इसके अलग-2 लाभ और नुकसान हो सकता हैं। जिसको इस पोस्ट में मैने बताया हैं।


Static Library

एक स्थैतिक लाइब्रेरी फाइल का extension  ". a" UNIX अर्थात लिनक्स ऑपरेटिंग सिस्टम के अंदर होता हैं।  जहा a  का मतलब होता हैं Archive।  और lib एक्सटेंशन विंडोज ऑपेरेटिंग सिस्टम के अंदर होता हैं जहाँ lib से तात्पर्य है library | 

जब आप प्रोग्राम को static library की मदद से link या बनाते हैं तब बाहरी function के मशीन कोड आपके program में यपयोग होता हैं।  हो की आपके executable program फाइल में परतिलिप कर दी जाती हैं।


Shared Library

shared  library के फाइल का extension  UNIX अर्थात लिनक्स में so होता हैं।  जहा so का मतलब होता हैं Shared Object। और व्ही dll विंडोज ऑपरेटिंग सिस्टम में इस्तेमाल किया जाता हैं।  जहाँ dll  का मतलब होता हैं Dynamic Linking  Library । 


जब आपका प्रोग्राम ें library के विरुद्ध compile होती हैं तब इसकी एक छोटीसी सूचि तैयार करली जाती हैं। अब हम प्रोग्राम को चलते हैं उससे पहले Os आवश्यक machine code को मेमोरी में लोड करता हैं। हो बहरी function  को रन करेंगा। और ऐसी प्रोसेस को Dynamic Linking कहते हैं। 


                                                                                      ✅  अर्थात Program Runtime, जब प्रोग्राम को Run करते हैं। तभी यह तेजी से linking कर आपकी प्रोग्राम के लिए आवशयक Machine Code को उपलब्ध करता हैं। 

                      ✅  इससे आपके Application या program का फाइल की आकर कम हो जाती हैं और Disk space भी कम लेता हैं। 

      ✅  Dynamic Linking में एक library फाइल्स की चल रही प्रोग्राम से दूसरी प्रोगाम साझा कर सकता हैं।इस प्रकार से memory  भी कम खपत करती हैं।


No comments:

Post a Comment

आप कैसे हों?