假设我有2个静态Lib S1
和S2
,它们是同一个lib的不同版本,并且具有相同的C(非C ++)接口,尽管实现方式不同。 2个共享库D1
和D2
,每个库仅链接到S1
或S2
。假设应用程序A
与S2
链接,这是最新的静态库,并使用D1
动态加载D2
和dlopen
。 D1
只会使用S1
函数,还是有办法强制使用S2
函数?在此设置中可能出现任何问题吗?
编辑:制作共享对象S
是解决此问题的好方法,因为D1
和D2
都可以链接到S
吗?
答案 0 :(得分:0)
D1
只会使用S1
函数,还是有办法强制使用S2
函数?
是的,D1
将使用S1
个功能。
不,您无法强制使用S2
函数。
此设置可能出错吗?
这取决于你的库中的内容。