※ 引述《timmylin (再也不寫程式了...)》之銘言:
: 似乎BddNodeInt這個class十分神奇,掛上MemMgr就是怪怪
: 的,主要問題發生在我在BddMgr的reset中加入BddNodeInt::memReset()
: 把它reset個好幾次(注意不是1次),竟然程式就爆了...
: 如果不reset MemMgr的話會一切正常.......
: 我在MemMgr中已經加入確認無實體BddNodeInt才可以reset的
: 判斷條件,但是似乎沒發揮作用......
: 如果是我的流程有問題,那應該第一次reset就會爆阿
: (例如我沒先delete所有存在的BddNodeInt).不會等到
: 重複build 2-3次circuit bdd才死掉阿
: 是這種寫法的影響??
: unsigned _level : 16;
: unsigned _refCount : 15;
: unsigned _visited : 1;
理論上如果沒有 memory leak 的話, reset mem 之後所有的 pointer address 又會
回到原先的值
也就是說 每次 BDD 建出來的 address 都會一樣. 跟 " : 16" 應該沒有關係
在看看是否為 memory leak 吧...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.130.124