推 TommyKSHS:其實是因為有一千來個 do do4 被一千來個 mcalc> 擠掉了 11/05 23:43
→ puerpuella:可是為什麼打第二次就會crash了? 11/06 15:42
推 ric2k1:啊,那是因為我將 CmdParser 裡面的 MAX_HISTORY 設成 1024 11/07 00:13
→ ric2k1:_history[] 就會 access 到別人的地盤,但是 access 到的 11/07 00:15
→ ric2k1:那塊 memory 又沒有將 string construct, 所以就會 crash 11/07 00:15
→ ric2k1:解決的辦法是將 MAX_HOSTORY 調大, 像是改成 65536 之類的 11/07 00:16
→ ric2k1:但是我不確定你們可不可以 work,因為 cmdRead.o 是 11/07 00:17
→ ric2k1:pre-compile 好的... (請試試看讓我知道)。另外的根本解決 11/07 00:18
→ ric2k1:之道就是將 _history 改成 vector<string>,但是這牽涉到 11/07 00:18
→ ric2k1:我不想再 hw#2 就將 STL 牽扯進來... 所以...再說吧! 11/07 00:19
→ ric2k1:下個 homework 開始我會將 MAX_HOSTORY 設大一點... 11/07 00:20
推 TommyKSHS:我把 MAX_HISTORY 改成 65536 後,只要下一個指令都會 11/07 00:59
→ TommyKSHS:segementation fault... 11/07 00:59
→ TommyKSHS:改成 2048 也會 crash... 囧 11/07 01:00
推 ric2k1:That's why I guess... cmdReader.o 已經 precompiled 了 11/07 15:45
推 timrau:下次寫成用getenv()抓參數的吧 XD 11/08 20:52
推 hunallen:我似乎也有這個問題 11/08 20:55
推 hunallen:-File do6也會炸掉 11/08 20:59
推 ric2k1:to timrau, yes, that's a good suggestion. 11/09 12:59