静态和动态联系的同样的图书馆
-
11-09-2019 - |
题
我有一个程序,是静态链接到一个图书馆(libA.2.0.a
)和动态也链接到另一个图书馆(libB.so
). libB.so
还动态链接到一个旧版本的许多(libA.1.0.so
).
是这样配置的可能吗?如果是这样,怎么知系统的使用符号 libA.2.0.a
用我的程序和符号 libA.1.0.so
对于 libB.so
?
解决方案
是的,这个结构是可能的。
在回答你的问题是如何系统都知道如何使用符号,记住,所有的联系发生在生成时间。之后它已经建立,这不是一个问题"符号",只是呼吁各职能在各个地址。
当建设libB.因此,设置了它的链接到许多.1.0.此。它不知道或关心的其他应用程序的使用,它将这样做,它只需知道如何映其自己的功能的电话。
当建立应用程序本身,应用的链接libB.此。无论libB.那电话是完全未知的应用程序。该应用程序还静态链接到一个图书馆,其libB.所以不关心。
一个地方:如果许多使用静态变量,将有一个组静访问libB.因此,一个不同的、独立的静态的访问申请。
不隶属于 StackOverflow