0

我在 wince 6.0 中有 c++ 库,有一些全局变量。该库已与 C++ 的 DLL 链接。当我执行应用程序并调用 DLL 时。首先它集成了静态库的所有全局变量,但是当控制权回到 DLL 到静态库时。它重置所有全局值。有没有人对此有想法。

4

1 回答 1

0

如果您已将两个 DLL 与静态库链接,这意味着您拥有库中所有代码和变量的两个副本。

要解决此问题,您应该将静态库转换为 DLL。这可以通过一个由module.def文件和链接器调用组成的简单项目来完成。

然后,不要将您的 DLL 与静态库链接,而是将它们与您的 DLL 链接。

或者,不是有两个 dll,而是将项目组合成一个 DLL。

请注意,可以将两个模块链接到同一个静态库,前提是您理解并接受数据不会被共享。

于 2013-04-15T12:53:45.170 回答