मैं वर्तमान में AIX पर एक सी अनुप्रयोग को पोर्ट करने का प्रयास कर रहा हूं और उलझन में हूं। एए और .so फाइलें क्या हैं और एप्लिकेशन का निर्माण/चलाने के दौरान उनका उपयोग कैसे किया जाता है?.a और .so फ़ाइलें क्या हैं?
उत्तर
पुरालेख पुस्तकालय (.a) स्थिर रूप से लिंक किए जाते हैं i.e जब आप अपने प्रोग्राम को gcc में -c विकल्प के साथ संकलित करते हैं। इसलिए, यदि पुस्तकालय में कोई बदलाव है, तो आपको फिर से अपना कोड संकलित और निर्माण करने की आवश्यकता है।
.a लाइब्रेरी पर .so (साझा ऑब्जेक्ट) का लाभ यह है कि वे रनटाइम के दौरान जुड़े हुए हैं यानी आपके .o फ़ाइल -o विकल्प के निर्माण के बाद जीसीसी में विकल्प। इसलिए, यदि .so फ़ाइल में कोई बदलाव है, तो आपको अपने मुख्य कार्यक्रम को पुन: संकलित करने की आवश्यकता नहीं है। लेकिन सुनिश्चित करें कि आपका मुख्य प्रोग्राम ln कमांड के साथ नई .so फ़ाइल से जुड़ा हुआ है।
इससे आपको .so फ़ाइलों को बनाने में मदद मिलेगी। http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
उम्मीद है कि इससे मदद मिलती है।
.a स्थिर पुस्तकालय हैं। यदि आप उनके अंदर संग्रहीत कोड का उपयोग करते हैं, तो यह उनसे लिया जाता है और आपकी बाइनरी में एम्बेड किया जाता है। विजुअल स्टूडियो में, ये .lib फाइलें होंगी।
। इसलिए गतिशील पुस्तकालय हैं। यदि आप उनके अंदर संग्रहीत कोड का उपयोग करते हैं, तो यह आपके स्वयं के बाइनरी में नहीं लिया जाता है और एम्बेड किया जाता है। इसकी बजाय इसे संदर्भित किया गया है, इसलिए बाइनरी उन पर निर्भर करेगी और इसलिए फ़ाइल से कोड को रनटाइम पर जोड़ा/लोड किया जाता है। विजुअल स्टूडियो/विंडोज़ में ये। डीएल फाइलें होंगी (लिंकिंग जानकारी वाले छोटे .lib फाइलों के साथ)।
.a फ़ाइलें आमतौर पर पुस्तकालय होते हैं जो स्थिर रूप से जुड़े होते हैं (या अधिक सटीक अभिलेखागार), और
। इसलिए गतिशील रूप से जुड़े पुस्तकालय हैं।
एक बंदरगाह करने के लिए आपको उन स्रोत कोड की आवश्यकता होगी जिन्हें उन्हें बनाने के लिए संकलित किया गया था, या आपके AIX मशीन पर समकक्ष फ़ाइलें।
.so फ़ाइलों का उपयोग करने के लिए मैं अपना आवेदन कैसे बना सकता हूं? – Dunc
दोनों प्रकार के पुस्तकालयों के निर्माण और वेब पर उन्हें जोड़ने के लिए कई उत्कृष्ट संदर्भ हैं। Google आपका मित्र है। –
@ डंक - कुछ तरीके हैं।क्या आपके पास मेकफ़ाइल है? आम तौर पर वह आदेश जो पूरे कार्यक्रम को इकट्ठा करता है (और इसलिए लिंकर को कॉल करता है) पुस्तकालय फ़ाइलों को देखने के लिए स्थानों को निर्दिष्ट करेगा -एल/डीआईआर/डीआईआर 1 /.../ और पुस्तकालयों को स्पष्ट रूप से -नाम के नाम से भी नामित कर सकता है। आप पाएंगे कि वास्तविक नाम libname.a या libname.so है। लिंकर तब पता लगा सकता है कि क्या करना है यदि यह एक सामान्य सामान्य कार्यक्रम है। लेकिन आपको अभी भी .so फ़ाइल बनाने या खोजने की समस्या है। क्या आपको इसे बनाने के लिए स्रोत कोड मिला है, या एक AIX लाइब्रेरी है? संसाधनों के लिए – gbulmer
इन्हें लिंकिंग चरण में उपयोग किया जाता है। .a
फ़ाइलें स्थिर रूप से जुड़ी हुई हैं, और .so
फ़ाइलें क्रमबद्ध हैं, इसलिए जब भी आप exe चलाते हैं तो लाइब्रेरी की आवश्यकता होती है।
आप किसी भी lib निर्देशिका में देखकर उन्हें संग्रहीत कर सकते हैं ... /usr/lib
और /lib
उनमें से अधिकतर हैं, और LIBRARY_PATH
पर्यावरण चर भी है।
विकिपीडिया इस जानकारी के लिए एक सभ्य स्रोत है।
तरह .a Static libarary
पढ़ साझा लाइब्रेरी फ़ाइलों के बारे में जानने के लिए .so इस पृष्ठ पर Library_(computing)#Shared_libraries पढ़ चाहते स्थिर पुस्तकालय फ़ाइलों के बारे में जानने के लिए, वहाँ भी फ़ाइल अनुभाग के नामकरण में उपयोगी जानकारी है।
- 1. .so और .a फ़ाइलों के बीच क्या अंतर है?
- 2. यूनिक्स में .so और .a बनाना
- 3. .o फ़ाइलें बनाम .a फ़ाइलें
- 4. साझा ऑब्जेक्ट्स (.so), स्थिर पुस्तकालय (.a), और डीएलएल (.so) के बीच अंतर?
- 5. क्या हैं। फ़ाइलें?
- 6. बिल्डिंग .so मॉड्यूल बिना autlaools/libtool के साथ .la और .a वेरिएंट स्थापित किए जा रहे हैं
- 7. SO
- 8. दृश्य स्टूडियो में इन .pch और .ncb फ़ाइलें क्या हैं?
- 9. एंड्रॉइड में .dex फ़ाइलें क्या हैं?
- 10. मोनो डेवेल की .pidb फ़ाइलें क्या हैं?
- 11. एक्सएफएल - ./bin/*.dat फ़ाइलें क्या हैं?
- 12. ओकैम - फ़ाइलें और पार्सिंग
- 13. .pyc फ़ाइलें कहां हैं?
- 14. .lib और .a फ़ाइलों के बीच क्या अंतर है?
- 15. क्या int और a और int और a के बीच कोई अंतर है?
- 16. डायनामिक lib (.so) और static libc.a
- 17. कृपया मुझे SO पृष्ठ स्रोत
- 18. एक .a (libcrypto.a) फ़ाइल क्या है?
- 19. ऑब्जेक्ट फ़ाइलें प्लेटफॉर्म स्वतंत्र हैं?
- 20. .sln और .vcproj फ़ाइलें क्या हैं, और उनमें क्या शामिल है?
- 21. .so खोज पथ
- 22. संकलित बाइनरी (.so)
- 23. लिनक्स में स्थिर पुस्तकालयों के लिए lib {library name} .a/.so नामकरण सम्मेलन है?
- 24. लिंक करना अभिलेखागार (ए) साझा वस्तु (.so)
- 25. परिवर्तनीय चर के बीच अंतर var $ a = $() और var a?
- 26. बल्कि libbz2.so.1.0
- 27. libphp5.so लापता
- 28. मिक्सिंग फ़ाइलें और लूप
- 29. PCAP फ़ाइलें और endianness
- 30. केवल फ़ाइलें हैं जो एक पुनरावर्ती diff
एक लाइब्रेरी 'arrive है और अन्य 's'hared' o'bject –
* के संभावित डुप्लिकेट [.so, .la और .a लाइब्रेरी फ़ाइलों के बीच क्या अंतर है?] (Https: // stackoverflow। com/प्रश्न/12237282/क्या-अंतर-बीच-तो-la-और-एक-पुस्तकालय-फ़ाइलें) *। –