Re: [請益] realloc -- Aborted error
看板CSSE (電腦科學及軟體工程)作者ledia (contemplation)時間19年前 (2006/03/03 09:19)推噓2(2推 0噓 3→)留言5則, 2人參與討論串2/3 (看更多)
※ 引述《mahaw (我要賭本!!)》之銘言:
: struct obj_section *obj_create_alloced_section_first( struct obj_file *f, const char *name,unsigned long align, unsigned long size
: {
: struct obj_section *sec;
: …略
: f->sections = realloc( f->sections,(newidx+1)*sizeof(sec) );
: …略
: }
: 出問題的又是第二個,就是括號裡頭的,f->sections,如果這個欄位改0,那OK,可以
: run過去,但這樣…又不是我要的。 我要保留住先前的值…
: 拜託有任何idea的仁兄能給我點意見,感謝。
: 是空間不夠分了嗎…?
先確定一下
f->scections 的值是否是 malloc 傳回來的值
還是從 malloc 回傳之後又改動過的值?
我猜測是後者才會造成這樣的錯誤
如果是後者的話, 那麼會有 error 是必然的
因為 malloc 是以傳給你的 address 來 identify 他 allocate 給你的空間
若你給 realloc 的 address 並非原本 malloc 回傳的 address 的話
它就沒辦法知道該歸還的是哪一塊空間了
如果非我所猜測, 那麼可能要 trace 程式才能找得到問題了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.56
推
03/04 00:17, , 1F
03/04 00:17, 1F
→
03/04 00:17, , 2F
03/04 00:17, 2F
→
03/04 00:21, , 3F
03/04 00:21, 3F
→
03/04 00:22, , 4F
03/04 00:22, 4F
推
03/06 19:10, , 5F
03/06 19:10, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
CSSE 近期熱門文章
PTT數位生活區 即時熱門文章