我将perl嵌入使用Smartheap的C++应用程序中。无论我将perl编译为使用其自己的malloc还是系统,无论如何我都会收到一堆错误的mem___bad_pointer对话框。当我单击“确定”并忽略错误时,似乎工作正常,但是显然我需要实际解决问题。
我可能需要将SmartHeap编译到我的perl构建中吗?那可行吗?
以下是我可以找到的有关mem__bad_pointer的the only documentation页面,但是我离解决该问题还很近。我不了解perl和Smartheap如何或在哪里发生冲突。任何指针表示赞赏。
最佳答案
没有看到代码,很难调试问题。
也许您正在同时使用smartheap和常规内存管理器来分配内存。当您在没有智能堆的dll版本中分配内存时,可能会导致这种情况。
根据您的代码,分配可能很好,并且您可能在全覆盖内存区域之外进行写入。