Ben örnek, iki tost kütüphaneleri libtoaster_a.so ve libtoaster_b.so ve ilişkili tüm majör/minör/devir sembolik bağ libtoaster_a.so.1.0.0 örneğin iki kütüphane var vb. Her iki kitaplık da aynı tost arabirimini uygular, ancak işlemi farklı şekilde yapar. Bu nedenle, kütüphaneyi kullanan bir uygulama oluşturduğumda, hangi uygulamanın kullanıldığının önemi yoktur (uygulama perspektifinden aynıdır).gcc bağlantı paylaştı kütüphane
Başvuru derlenmiş ve dağıtılmış edildikten sonra Sonra ya libtoaster_a işaret edebilir libtoaster.so.1 işaret libtoaster.so sembolik bir bağlantı yapmak hangisinin kullanılacağına kütüphane karar vermek istiyoruz Çünkü ve libtoaster_b.so.1. Dolayısıyla, kullanıcı/yükleyici, kullanılacak uygulamayı seçmek için libtoaster.so.1 bağlantısını değiştirebilir. yapı için
Ben varsayılan olarak libtoaster.so.1 bağlantılı libtoaster_a.so.1 gerektiğini söylüyorlar. Uygulamamı derlediğim zaman: my_appgcc -o my_app -ltoaster...
gibi bir şeyle derler ve düzgün bir şekilde libtoaster_a.so.1 ile çalışır. Ben MY_APP üzerinde ldd çalıştırmak Ancak ben dolayısıyla bağlantı etkisi yoktur
libtoaster.so.1 değişen, bu libtoaster_a.so.1 ziyade arzu edildiği gibi libtoaster.so.1 bağlantılıdır göreceksiniz. sonra libtoaster.so.1 silme ve onu yaratan libtoaster.so.1 için isimlerinin, libtoaster_a.so.1 yapım bu kütüphaneye karşı MY_APP yapmaktan daha Bunu düzeltmek için daha iyi bir yolu var mı Yine sembolik bir bağ olarak mı?