我们必须在开发过程中使用第三方DLL,遗憾的是我们无法修改它或指定库必须如何工作.
原始库开发人员通过静态变量在他们的方法中引入了状态机制.
例如:
void foo()
{
static int a = 1;
if (a == 1)
{
/* some init logic */
a = 2;
}
}
Run Code Online (Sandbox Code Playgroud)
有时我们需要将库带到其原始状态.
有没有办法将静态变量重置为原始值而没有任何系统"黑客"?
我们当前的解决方案是FreeLibrary/LoadLibrary,但我们想避免它.