我正在用 C++ 编写一个图像处理程序。为此,我将第三方程序(边缘检测器)修改为我在程序中使用的静态库。
它接缝了原始边缘检测器依赖于操作系统在执行主要功能后清理内存。不幸的是,在我修改了这个原始代码之后,主函数变成了一个“普通”的重复调用函数,因此没有执行自动清理。结果是每次调用该函数时都会发生巨大的内存泄漏。
我无法详尽地查看检测器的整个代码来解决这个问题。因此,我想问:一般来说,有没有办法将整个程序(在我的情况下是检测器)的“子程序”与其余程序分开,并强制操作系统在子程序之后进行清理,就好像它是一个独立的程序?例如,是否有使用线程的解决方案?
谢谢您的回复。