Мы должны использовать сторонние DLL в нашем процессе разработки, к сожалению, мы не можем изменить их или указать, как библиотека должна работать.
Разработчики оригинальной библиотеки ввели методы состояний в свои методы через статические переменные.
например:.
void foo()
{
static int a = 1;
if (a == 1)
{
/* some init logic */
a = 2;
}
}
Иногда нам нужно привести библиотеку в исходное состояние.
Есть ли способ вернуть статические переменные к их исходным значениям без каких-либо системных "взломов"?
Наше текущее решение - FreeLibrary / LoadLibrary, но мы хотим этого избежать.