Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 wince 6.0 中有 c++ 库,有一些全局变量。该库已与 C++ 的 DLL 链接。当我执行应用程序并调用 DLL 时。首先它集成了静态库的所有全局变量,但是当控制权回到 DLL 到静态库时。它重置所有全局值。有没有人对此有想法。
如果您已将两个 DLL 与静态库链接,这意味着您拥有库中所有代码和变量的两个副本。
要解决此问题,您应该将静态库转换为 DLL。这可以通过一个由module.def文件和链接器调用组成的简单项目来完成。
module.def
然后,不要将您的 DLL 与静态库链接,而是将它们与您的 DLL 链接。
或者,不是有两个 dll,而是将项目组合成一个 DLL。
请注意,可以将两个模块链接到同一个静态库,前提是您理解并接受数据不会被共享。