यदि आपके पास कोड है जो कि बायोनिक या ग्लिब के साथ जुड़ा हुआ है, तो यह अलग-अलग व्यवहार करने की आवश्यकता है, यह संकलन समय पर निर्धारित और निर्धारित किया जाना चाहिए। बायोनिक और ग्लिबैक बाइनरी संगत नहीं हैं, इसलिए आपको संकलन समय पर शीर्षकों के एक सेट को प्रतिबद्ध करने की आवश्यकता है।
#if __BIONIC__
/* Bionic-specific code */
#elif __GLIBC__
/* Glibc-specific code */
#else
#error "This C library is not supported"
#endif
आप /proc
में किसी भी जानकारी मिल नहीं करेगा क्योंकि /proc
गिरी बारे में जानकारी शामिल, के बारे में नहीं सी पुस्तकालय।
सिद्धांत रूप में, एक सिस्टम पर जितनी चाहें उतनी सी पुस्तकालयों को रखना संभव है। हालांकि यह एक एम्बेडेड सिस्टम पर बहुत असामान्य होगा क्योंकि ये आम तौर पर कोड आकार को नीचे रखने की कोशिश करते हैं। एकमात्र प्रणाली जहां मैं कई सी पुस्तकालयों की अपेक्षा करता हूं, एक एम्बेडेड डेवलपर मशीन पर है, यदि डेवलपर क्रॉस-कंपाइलिंग नहीं होता है (जो कि पहले स्थान पर दुर्लभ है)। इसके अलावा, बायोनिक का उपयोग केवल एंड्रॉइड पर किया जाता है, और केवल एंड्रॉइड पर बायोनिक का उपयोग किया जाता है, इसलिए सभी एंड्रॉइड सिस्टम में बायोनिक होता है और अन्य प्रणालियों में बायोनिक नहीं होता है। गैर-एंड्रॉइड लिनक्स सिस्टम में कुछ अन्य लाइब्रेरी है, या तो ग्लिबैक या (एम्बेडेड सिस्टम पर) कुछ अन्य libc जैसे uClibc या Dietlibc।
यदि प्रत्येक एप्लिकेशन प्रोग्राम स्थिर रूप से इसके libc से जुड़ा हुआ था, तो अलग-अलग अनुप्रयोगों द्वारा अलग-अलग libcs का उपयोग किया जा सकता है। – sawdust
अपने सी पुस्तकालय में स्थैतिक रूप से एप्लिकेशन को कैसे लिंक करें? – hugemeow
जब आप लिंक करते हैं तो जीसीसी के लिए '-static' विकल्प का उपयोग करें। निष्पादन योग्य स्थिर या गतिशील रूप से जुड़ा हुआ है या नहीं, यह बताने के लिए उपयोगिता 'फ़ाइल' का उपयोग करें। मैं गतिशील रूप से जुड़े निष्पादन योग्य द्वारा उपयोग की जाने वाली पुस्तकालयों और प्रविष्टि बिंदुओं को सूचीबद्ध करने के लिए 'स्ट्रिंग्स' का उपयोग करता हूं। – sawdust