Bir .so
dosya dinamik bir tür kütüphane biliyorum (iş parçacığı bellekte birden fazla kopyasına gerek yok bu yüzden bu tür kütüphaneleri paylaşabilirsiniz). Peki .a
ve ile arasındaki fark .la
nedir? Bunların hepsi statik kütüphaneler mi?
Dinamik kütüphanelerin statik olanlara göre büyük avantajları varsa, neden hala çok sayıda statik kütüphane var?
Ayrıca kütüphaneleri (her iki tür) yüklemek için altında yatan mekanizmayı ve bir yerde bir lib kullanıldığında kod parçasının nasıl çağrıldığını bilmek istiyorum. Çekirdeğin hangi kısmını incelemeliyim? Ve bir sürecin nasıl çalıştığını bilmek için hangi ilgili Linux komutunu / yardımcı programını bilmeliyim? ( ld
Komutu şimdiye kadar biliyorum )
Ne zaman .so
veya içine kod oluşturmaya çalışmalıyım .a
? Hangisi daha iyi?
[mirror@home ins_openvpn]$ ls lib/openvpn/plugins/ -l
total 96
-rw-r--r-- 1 mirror mirror 22892 Sep 2 23:25 openvpn-plugin-auth-pam.a
-rwxr-xr-x 1 mirror mirror 931 Sep 2 23:25 openvpn-plugin-auth-pam.la
-rwxr-xr-x 1 mirror mirror 23621 Sep 2 23:25 openvpn-plugin-auth-pam.so
-rw-r--r-- 1 mirror mirror 17228 Sep 2 23:25 openvpn-plugin-down-root.a
-rwxr-xr-x 1 mirror mirror 932 Sep 2 23:25 openvpn-plugin-down-root.la
-rwxr-xr-x 1 mirror mirror 18805 Sep 2 23:25 openvpn-plugin-down-root.so