【发布时间】:2011-10-28 22:37:16
【问题描述】:
我们有一个 C 库(.lib windows 和 .a linux),它只允许创建单例并且在实例化后也不能正确关闭(内存泄漏和线程保持活动状态)。
重写它并找出错误,有没有一种简单的方法可以在进程中隔离这种行为不端的代码,从而可以消除单例限制,并且可以将不干净的 tidyup 沙盒化?
我主要对任何进程中的选项感兴趣,如果确实有的话。一个单独的过程显然可以解决它,但会产生架构开销以允许远程控制库,除非有非常低影响的解决方案(它具有广泛的 API,因此维护大量的胶水并不是特别有吸引力)。
【问题讨论】:
-
简洁地说 - 不。如果库所有者不合作,从长远来看,重写可能是最容易的。