制作一个使用静态库,但使用主程序中的函数的动态库



我有一个程序,它有几个静态链接的库。它加载使用这些库的动态库(模块(。

不静态链接模块,是否可以动态链接到主程序中已经存在的函数?

我在这里面临的问题是,所说的库包含内部状态(静态变量(,如果主程序和模块都是静态编译的,则内部状态会复制到两个位置,并且库在主程序和模件中的工作方式不同。

由于动态库是在不了解稍后加载它的应用程序的情况下构建的,因此它不知道该应用程序提供了什么。因此,它需要链接到它自己的静态库实例。

如果你想要这样的体系结构,你必须为库引入一种方法来了解加载应用程序提供的功能。一个可能的概念是使用回调。

最新更新