想要详细了解共享库如何与静态库相比起作用

gol*_*ean 5 shared-libraries static-libraries

我正在创建和链接共享库(.so).在与他们合作时,出现了许多问题,当我搜索它们时,我找不到令人满意的答案,因此将它们放在这里.关于共享库的问题是:

1.)共享库与静态库有何不同?它们的创建方式有哪些主要区别?它们的执行方式是什么?

2.)如果共享库在什么位置是加载和运行共享库中特定函数的地址,给定?谁给这些功能是加载/运行地址?

3.)与使用静态库链接的应用程序相比,链接到共享库的应用程序执行速度会慢吗?

4.)这两种情况下应用程序的可执行文件大小是否不同

5.)可以通过步入共享库中定义的函数来进行源级调试吗?是否需要额外的东西才能使这些功能对应用程序可见?

6.)使用任何一种库有什么利弊?

谢谢.

-广告

小智 1

请参阅此问题何时使用动态与静态库和此HOWTO