惠普UNIX机器使用STL严重内存泄漏,高手帮忙压。
痞子酷 2005-04-25 07:42:34 惠普:
HP-UX COMMTEST B.11.11 U 9000/800 (tb)
你可以使用top查看内存情况。
测试代码:
#include <stdio.h>
#include <string>
#include <malloc.h>
#include <vector>
//using namespace std;
void PrintfMallInfo()
{
static int i=0;
char tempBuf[1204];
struct mallinfo mInfo=mallinfo();
sprintf(tempBuf,"[%d]mallinfo:arena=%d ordblks=%d smblks=%d hblks=%d hblkhd=%d usmblks=%d fsmblks=%d uordblks=%d fordblks=%d keepcost=%d",
i,
mInfo.arena,
mInfo.ordblks,
mInfo.smblks,
mInfo.hblks,
mInfo.hblkhd,
mInfo.usmblks,
mInfo.fsmblks,
mInfo.uordblks,
mInfo.fordblks,
mInfo.keepcost);
printf("%s\n",tempBuf);
i++;
}
void test()
{
vector <string> aVect;
PrintfMallInfo();
for(long i=0;i<1024*1024*10;i++)
{
//string aaa="aaaaaaaaaa";
aVect.push_back("aaaaaaaaaa");
}
aVect.clear();
PrintfMallInfo();
}
int main()
{
for(;;)
{
PrintfMallInfo();
test();
PrintfMallInfo();
}
}