我有一个程序,是静态链接到一个图书馆(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.因此,一个不同的、独立的静态的访问申请。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top