以前一直研究java后来发现log4j有c++版本:log4cxx。
但是我在mfc的debug状态发现log4cxx有严重的内存泄露现象,请问这是正常现象吗?
还是我没有加上必要的代码?

解决方案 »

  1.   

    试试看把
    StringBuffer() : std::basic_ostream<TCHAR>(0)
    { this->init(&buffer); }
    改为
    StringBuffer() : std::basic_ostream<TCHAR>(0)
    { this->rdbuf(&buffer); }
    P.S.记着要Rebuild All
      

  2.   

    按照楼上改过了,还是老样子
    今天重新编译了n次,发现:
    如果把log4cxx源代码倒入到自己的程序中,编译后,没有内存泄露。但是使用log4cxx自带msvc工程配置编译出来dll和lib,
    然后让我的程序去引用lib,
    那么运行就会有内存泄露。PS两次编译用的log4cxx的源代码完全相同。