看板 EE_DSnP 關於我們 聯絡資訊
請問一下 我在complie hw1.2.p2b.cpp 時都沒有出現問題 但在執行的時候 會出現程式記憶體區斷錯誤 用ddd找了一下 發現是在進入sort的時候掛掉的 先前在還沒有寫Book的"<"時 有先測試程式 單純看看Book的Constructo有沒有寫對 那時候的main()裡還沒有執行sort()以下的程式碼 當時執行程式有出現 stack smashing detected 那時候沒有理他 後來就變成程式記憶體區斷錯誤了 請問這應該是什麼地方出問題呢QQ?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.0.106
wind42:我一開始也是出現一樣的錯誤(segmentation fault) 10/15 14:31
wind42:後來發現是operator"<"的演算法沒寫好 10/15 14:32
wind42:把這部分修正之後就OK了;應該可以先從這裡找看看問題 10/15 14:33
sycjohn:問題應該在book的比較的地方 年代那邊要確定是有截到數字 10/15 14:45
s86080:感謝~ 我把 "<" 的部份寫好了 就沒有segmentation fault了 10/15 15:14
s86080:但還是在程式執行完main()的時候跳出 stack smashing detec 10/15 15:15
s86080:ed 我發現應該是我在book的constructor出了問題 換一個寫 10/15 15:16
s86080:法後就沒有問題了 不過還是想問一下stact smashing是什麼? 10/15 15:18
s86080:更正~ stack smashing detected > < 10/15 15:19
jim1029:那是gcc的一個保護機制 避免buffer overflow 10/15 16:03