Je connais un .so
le fichier est une sorte de bibliothèque dynamique, beaucoup de threads peuvent partagé ce genre de bibliothèques, donc il n'est pas nécessaire d'avoir plus d'une copie de cette lib dans la mémoire. alors quelle est la différence entre .a
et .la
, sont-ils tous des bibliothèques statiques?
si dynamique lib ont un grand avantage par rapport statique librariess, alors pourquoi il y a encore beaucoup de bibliothèques statiques?
J'ai aussi ce qu'il faut savoir le mécanisme sous-jacent à la charge dynamique lib et les bibliothèques statiques, et comment le morceau de code dans lib dynamique ou statique de la lib est appelée lorsque ce code est utilisé par certains programmes? la partie du noyau je dois lire? et ce relative de commande de Linux et de l'utilité que je devrais connaître afin de savoir comment un processus est en cours d'exécution? ( Que je ne connais ld
commande maintenant)
quand je devrais essayer de construire le code en .so
ou .a
? lequel est le mieux?
[mirror@home ins_openvpn]$ ls lib/openvpn/plugins/
openvpn-plugin-auth-pam.a openvpn-plugin-auth-pam.so openvpn-plugin-down-root.la
openvpn-plugin-auth-pam.la openvpn-plugin-down-root.a openvpn-plugin-down-root.so
[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