427
社区成员
发帖
与我相关
我的任务
分享
struct ListUnit
{
char *p;
ListUnit *next;
}
struct ListHead
{
num;
ListUnit *next;
};
void *m_malloc(ListHead* head,int size)
{
for(int i=0;i<size;i++);
next=malloc(); //malloc 大小是1024.....1024*1024
}
void *m_free(void *p)
{
}
threadn()
{
1> ListHead *p=malloc(sizeof(ListHead)); //2>ListHead p 用这种方法,m_free函数做相应修改
m_malloc(p,size) //size=1.....30
..........
m_free(p);
}
int main()
{
thread1,2,3,4,5,6,7 //7 thread
scanf();
}
用方法一:
内存泄露,m_free链表中的元素时,总出各种内存free问题
用方法二:
内存不泄露,m_free链表中的元素时,不出内存free问题
我的程序里静态编译的,用的都是*.a库
我想到了,栈溢出问题 free
------------------
kernel space
------------------
stack 向下
------------------
map *.so
------------------
heap 向上
------------------
bss
------------------
data
------------------
text
------------------
有经验的朋友帮助分析下,谢谢!!!