我有一个静态库libStatic,它定义了一个像这样的全局变量
头文件libStatic/globals.h
:
extern int globvar;
代码文件libStatic/globals.cpp
:
int globvar = 42;
DLL libDynamic和可执行运行程序正在使用这个全局变量。此外,libDynamic
在运行时链接到runner(通过LoadLibrary()
、GetProcAddress()
和作品...)
我知道这将导致globvar
被创建两次,一次在runner堆中,一次在libDynamic堆中,这当然是非常不可取的。
这附近有什么好的地方吗?如何确保libDynamic和runner使用相同globvar
?