看板 EE_DSnP 關於我們 聯絡資訊
在建C17時,碰到cirb -all就crash 用gdb看,發現是在CirOrGate::buildBdd()中 faninBdd為空 code如下 BddNode resultBdd = bddMgr->getSupport(0); for (size_t i = 0; i < _faninList.size(); i++) { CirGate* fanin = _faninList[i]; unsigned faninId = fanin->getId(); BddNode faninBdd = bddMgr->getBddNode(faninId); if ((faninBdd() & (~1)) == 0) { BddNode faninBdd = fanin->buildBdd(); bddMgr->addBddNode(fanin->getName(), faninBdd()); bddMgr->addBddNode(faninId, faninBdd()); } resultBdd &= faninBdd; // crash: faninBdd為空 } 我不確定if 的條件這樣寫對不對,因為沒辦法用private的getBddNodeInt()去判斷 或者有沒有可能是我的&=寫得不好? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.27.248