看板 EE_DSnP 關於我們 聯絡資訊
痾... 在寫ciropt時遇到的問題, 一個gate確定可以用它的input或const來取代, 那gate的output gate其input要改成取代的input或const, cirgate.h裡我用了老師code原本就有的一個function setIn0(size_t i) 但寫進去後跑了ciropt,卻是記憶體區段錯誤, 用gdb是停在cirMgr.h裡的checkConnectionGate(), 不知道原因是什麼... 還是我有什麼地方想錯嗎...? 還是有其他方法可以改input? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.252.211
ric2k1:停在 checkConnectionGate() 是因為我給你們的 .o 檔並沒有 12/28 00:42
ric2k1:debugging information, 所以你看到的是 garbage. 12/28 00:42
ric2k1:你可以考慮在 CirAigGate 裏頭用 _in0.replace(n, v); 12/28 00:44
ric2k1:n 是 const-0 gate 的 CirGate*, v = true iff inverse. 12/28 00:45
ric2k1:請注意你取代的新的 fanin 是個 valid CirGate* 12/28 00:51
ric2k1:常常 crash 是因為CirGate* 變成了 garbage... 12/28 00:51
janetlai22:不過奇妙的是如果把isPI()移到printGate()下方,然後在 12/28 00:55
janetlai22:optimize裏頭用PO呼叫,就會印出PO gate的資訊...還有 12/28 00:56
janetlai22:128:( 我明天會問問看:)教授辛苦了 12/28 00:57
kome5566:garbage是指沒有用的意思嗎? 12/28 01:14
kome5566:我換了_in0.replace 還是一樣耶@@ 12/28 01:14
kome5566:不懂為何會變garbage @@? 12/28 01:59
ric2k1:可以帶 code 過來嗎? 我幫你看看 12/28 10:38