隔离和多次实例化进程中的C库

  • 本文关键字:进程 实例化 隔离 c++ ipc
  • 更新时间 :
  • 英文 :


我们有一个C库。Lib Windows &. .a linux),只允许创建一个单例,也不能正确关闭(内存泄漏和线程保持活动),一旦实例化。

除了重写它和查找bug之外,是否有一种简单的方法来隔离进程中这种行为不端的代码,以便可以删除单例限制,并且可以将不干净的整理沙盒化?

我主要对任何进程内选项感兴趣,如果确实有的话。一个单独的进程显然可以解决这个问题,但是会导致架构开销,以允许远程控制库,除非有非常低影响的解决方案(它有一个广泛的API,所以保持大量的胶水不是特别有吸引力)。

对不起,没有简单的方法来做到这一点。沙箱行为不佳的库通常使用单独的进程来完成,这是您自己已经建议过的。像协议缓冲区这样的IPC工具可能有助于定义和实现IPC协议。

最新更新