dsi*_*cha 10 linux linker shared-libraries dynamic-linking static-linking
我理解动态链接的好处(旧代码可以自动利用库升级,它更节省空间),但它肯定有缺点,特别是在异构Linux生态系统中.由于系统升级破坏了向后兼容性或将回归引入共享库,因此很难分发"正常工作"的分布式无关二进制文件并使之前工作的程序更容易中断.
鉴于这些缺点,为什么动态链接似乎是如此普遍受欢迎?为什么要找到静态链接的,与发行版无关的Linux二进制文件,即使对于小型应用程序也是如此困难?
zwo*_*wol 14
有三个重要原因:
dlopen.(这意味着与其他任何东西的静态链接都不太值得,因为如果不替换C库,就无法获得完全静态的二进制文件.)您还应该记住,Linux-not-Android软件生态学完全基于源代码.如果您要发送二进制文件而且您不是分发供应商,那么您就是在做错了.