我有一个用 Visual C++ 2010 编写的模拟引擎,我正在为另一个 3rd 方应用程序实现一个基于它的 DLL 插件。
但是,当我的库被第 3 方应用程序的线程调用时,出现堆栈溢出错误。调试后发现 DLL 需要比线程更大的堆栈大小。是否可以以某种方式扩展当前线程的堆栈大小?
我知道我可能应该查看模拟引擎的代码并将大对象移动到堆中。问题是引擎是由另一个供应商维护的,如果可能的话,我想避免修改他们的代码。
我正在考虑在 DLL 中创建自己的线程,堆栈大小更大,并在计算完成时将结果返回给调用线程。这是正确的方法吗?
谢谢, 迈克尔