Мне нужно использовать функцию в файле obj, для которого у меня нет исходного кода.Функция работает хорошо и выполняет свою работу, но она повреждает стек (esp времени выполнения не был должным образом сохранен .. ошибка в Visual Studio C ++ 2010), и я недостаточно хорошо знаю сборку, чтобы найти проблему и исправить ее.(Из того, что я прочитал, это связано с тем, что у меня не было одинакового количества нажатий и выпадений.) Я попытался выполнить функцию в отдельном потоке, но, поскольку она разделяет ту же память, что и моя основная программа, она также падает.Функция работает и делает все, что ей нужно, ожидая, что она повредит стек и вызовет сбой приложения.Есть ли способ, которым я могу изолировать его от моего основного приложения?Я читал о CreateProcess, но из того, что я понял, он выполняет отдельный файл .EXE, который я не хочу делать.Я хочу выполнить функцию, как если бы она была внешней программой, чтобы она не вызывала сбой моей основной программы, даже если она повреждает стек.Во всяком случае, делать такие вещи в C / C ++?Или, может быть, у кого-то есть другая идея, чтобы все исправить?Кроме того, мне все равно, «грязная» ли она или не соответствует стандарту, так как я пишу эту программу для личного использования.Поскольку функция делает то, что ей нужно, я действительно стараюсь сохранить ее, даже если она портит стек вызовов.
Большое спасибо