我在CORBA中遇到了序列问题。我可以使用非优雅的解决方案来解决问题(至少对我而言不是优雅的)。

生成内存泄漏的(不是真实的)代码如下:

{
   IntMatrix m;
   m.lenght(100);
   for (int i = 0; i < 100; i++)
   {
      m[i].lenght(99);
   }
   //Send 'm' matrix and exit from this scope
}

(非优雅的)解决方案是这样的:
{
  IntMatrix m;
  m.lenght(100);
  intSeq s;
  s.lenght(99);
  for (int i = 0; i < 100; i++)
  {
      m[i] = s;
  }
  //Send 'm' matrix and exit from this scope
}

我一直在寻找Internet上的原因,但只能找到有关名为“release”的标志的文本。

有人可以帮我吗?

谢谢。

最佳答案

我假设当您说“发送m矩阵”时,您是在客户端。

我认为第一段代码是正确的。如果存在内存泄漏,则可能是由于您正在使用的ORB实现中存在错误。

10-05 22:54