[問題] release mode跑的比debug mode慢

看板C_and_CPP作者 (SaoAn)時間14年前 (2010/11/05 02:16), 編輯推噓6(6017)
留言23則, 11人參與, 最新討論串1/1
大家好,小弟我用VC2008跑一段程式,發現release mode跑的比debug mode慢, 請問為什麼會有這種事情發生呢? 另外就是F5跟ctrl F5的差別究竟是麼? debug mode+F5=debug debug mode+ctrl F5=? release mode+F5=? release mode+ctrl F5=release? 小弟我觀念有點搞混,麻煩大家導正小弟的觀念,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 24.161.183.254

11/05 10:28, , 1F
debug mode是指一整套編譯器選項設定,該設定中最重要的就
11/05 10:28, 1F

11/05 10:28, , 2F
是加入符號資訊到執行檔.exe內,而release mode則不加
11/05 10:28, 2F

11/05 12:34, , 3F
默認值的發佈板本不是會開啟編譯器的優化選項嘛?
11/05 12:34, 3F

11/05 12:35, , 4F
調試板本的不會做任何優化吧?
11/05 12:35, 4F

11/05 13:06, , 5F
debug mode好像會對尚未初始的變數歸0
11/05 13:06, 5F

11/05 13:11, , 6F
是會填入特殊值吧
11/05 13:11, 6F

11/05 13:25, , 7F
cc嗎?那是軟體中斷,怕指令暫存器誤指到該處時,至少會
11/05 13:25, 7F

11/05 13:25, , 8F
中斷程式,而不會把該處的資料當成CPU指令去跑
11/05 13:25, 8F

11/05 13:34, , 9F
CC不是洋基王牌嗎?
11/05 13:34, 9F

11/05 15:47, , 10F
最好是使用 debug 產生的程式。
11/05 15:47, 10F

11/05 15:50, , 11F
不在於執行速度,執行的速度不是重點。
11/05 15:50, 11F

11/05 16:03, , 12F
那重點是??????????
11/05 16:03, 12F

11/05 21:01, , 13F
執行速度不是重點?你當研究compiler的人都是白癡喔 -_-
11/05 21:01, 13F

11/05 22:14, , 14F
正常發布程式都是用release吧?? 優化是一回事, 開發過程
11/05 22:14, 14F

11/05 22:14, , 15F
中不該讓外人看到的debug code等, assert的自動開關等,
11/05 22:14, 15F

11/05 22:15, , 16F
也多會和release build有關啊; 更重要的是, 當你有使用
11/05 22:15, 16F

11/05 22:15, , 17F
framework或某些SDK開發程式時, 一般user拿得到的也都是
11/05 22:15, 17F

11/05 22:15, , 18F
release mode用的run-time....
11/05 22:15, 18F

11/06 00:05, , 19F
原po說得跑一段程式 是指compile還是指執行產生的exe?
11/06 00:05, 19F

11/06 00:21, , 20F
MS在未初始的heap上是填0xcdcdcdcd, stack是0xcccccccc
11/06 00:21, 20F

11/06 00:21, , 21F
正常來說(未改的情況下), release mode會進行優化,會比較快
11/06 00:21, 21F

11/06 00:22, , 22F
debug mode少了優化,又多加了許多除錯符號,使用的lib也不同
11/06 00:22, 22F

11/06 03:13, , 23F
對不起 我笨了 debug有開OpenMP Release沒開....
11/06 03:13, 23F
文章代碼(AID): #1CqsaKKg (C_and_CPP)