【发布时间】:2012-08-27 13:35:46
【问题描述】:
我知道.so 文件是一种动态库(许多线程可以共享这样的库,因此内存中不需要有多个副本)。但是.a 和.la 有什么区别?这些都是静态库吗?
如果动态库比静态库有很大的优势,为什么还有很多静态库?我什么时候应该尝试将代码构建到.so 或.a?
[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
【问题讨论】:
标签: linux shared-libraries static-libraries ld