मैं दो पुस्तकालयों, उदाहरण दो टोस्टर पुस्तकालयों libtoaster_a.so और libtoaster_b.so और सभी संबद्ध प्रमुख/लघु/राजस्व सिमलिंक libtoaster_a.so.1.0.0 जैसे के लिए है आदि दोनों पुस्तकालय एक ही टोस्टर इंटरफ़ेस को लागू करते हैं, लेकिन बस प्रक्रिया को अलग-अलग करते हैं। इसलिए जब मैं लाइब्रेरी का उपयोग करने वाले किसी एप्लिकेशन का निर्माण करता हूं, इससे कोई फ़र्क नहीं पड़ता कि किस प्रकार उपयोग किया जाता है (अनुप्रयोग परिप्रेक्ष्य से वे समान होते हैं)।जीसीसी लिंक साझा पुस्तकालय
क्योंकि मैं जो पुस्तकालय का उपयोग करने के बाद आवेदन संकलित किया गया है और वितरित मैं जो libtoaster.so.1 जो तब इंगित कर सकते हैं या तो libtoaster_a के लिए अंक libtoaster.so एक प्रतीकात्मक कड़ी बनाने का फैसला करना चाहते हैं .so.1 और libtoaster_b.so.1। इसलिए उपयोगकर्ता/इंस्टॉलर उपयोग करने के लिए कार्यान्वयन का चयन करने के लिए बस libtoaster.so.1 लिंक बदल सकता है।
निर्माण के लिए कहते हैं कि मैं डिफ़ॉल्ट रूप से libtoaster.so.1 जुड़ा हुआ libtoaster_a.so.1 को है। जब मैं अपने आवेदन को संकलित करता हूं उदाहरण: my_appgcc -o my_app -ltoaster...
जैसे कुछ इसे संकलित करता है और libtoaster_a.so.1 के साथ भी चलता है। लेकिन अगर मैं my_app पर ldd चलाने मैं इसलिए libtoaster.so.1 लिंक कोई प्रभाव नहीं है बदल रहा है यह libtoaster_a.so.1 बजाय libtoaster.so.1 के रूप में वांछित से जुड़ा हुआ है देखेंगे,।
वहाँ libtoaster_a.so.1 बनाने, libtoaster.so.1 लिए इसका नाम, इस पुस्तकालय के खिलाफ my_app बनाने तो libtoaster.so.1 को हटाने और इसे बनाने की तुलना में इसे ठीक करने के लिए एक अच्छा तरीका है एक प्रतीकात्मक लिंक के रूप में फिर से?