Re: [問題] assert的問題

看板C_and_CPP (C/C++)作者 (有趣生活)時間19年前 (2005/12/01 20:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ 引述《Biboy (畢波)》之銘言: : 我使用assert來做判斷 : 當他錯誤的時候不是會出現錯誤訊息嗎~ : 但是那個畫面瞬間就消失了 : 要怎麼樣才能使畫面停留在錯誤訊息那裡? 基本上如果要保證 "一定" 會停下來的話 你得自己先判斷,如果要檢驗的那個運算式為 0 的話 要自行讓程式暫停 (例如等待按下一個按鍵) 然後再呼叫 assert 原因是因為 assert 的行為是:1. 顯示出一些訊息 (ex.原始檔名,行號 ..) 2. 呼叫 abort() => 令程式直接終止 問題在於 2 因為其實不同 library 實作 abort 的實際行為可能不太一樣 例如我用 VC 的話,呼叫 abort 會跳出一個訊息框 (按鈕有重試,終止,略過) 但是用 Dev-C++ 的話,呼叫 abort,則印出以下文字: This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 然後程式直接關閉,當然也就不會停住了 所以如果要停住,不要依賴 assert,自己先判斷看看要不要停住吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.70.137.117
文章代碼(AID): #13ZkNppu (C_and_CPP)
文章代碼(AID): #13ZkNppu (C_and_CPP)