精華區beta C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux gcc version 4.4.5 (Gentoo 4.4.5 p1.2, pie-0.4.5) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 沒有 問題(Question): 常聽人說g++配合-O3較不安全 (是說會產生莫名的問題!?) 一般都用到-O2,現在這個說法還是正確的嗎 網路上寫O3會多打開: -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize -fipa-cp-clone options 不知道究竟是上面每一個都不安全還是只是其中一個不安全 我現在只想用-O2多配合-funswitch-loops來加速就好,會是安全的嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.99.217
angleevil:有阿,打開O3,當array超出邊界時,照樣給你跑 08/26 15:21
littleshan:會出問題通常都是因為你寫了undefined behavior 08/26 15:50
angleevil:這倒是真的. 08/26 15:53
xatier:無論如何都要照著標準寫,千萬不要用任何的undefined 行為 08/26 17:09
xatier:標準是編譯器優化的最後底線.... #COSCUP 聽到的XD 08/26 17:10
reiyo:想說compiler發展了那麼多年 出問題應該都是從自己本身的bug 08/26 17:37
Favonia:你可以當成是自己問題(沒照標準),也可以當成是標準問題 08/26 18:00
Favonia:(難懂又不定清楚),或是編譯器問題(把自由無限上綱), 08/26 18:03
Favonia:或是大家的問題(只在乎效率逼編譯器不擇手段)... 08/26 18:04
Favonia:@xatier: 哈哈看前半句還以為你是看 #1EJyhPy7 xD 08/26 18:15
purpose:要寫程式安全,要靠開發團隊自己做測試用心改才是正途 08/26 21:48
angleevil:樓上,那也要rd願意聽測試工程師的話.可惜的是大家都想 08/26 21:53
angleevil:早點上班 08/26 21:53
uranusjr:大家都想早點上班 囧? 08/26 21:57
loveme00835:XD 08/26 22:00
angleevil:上班<--改成下班 08/26 22:01
reiyo:不管了... 目前-O3可快10%似乎值得一搏 我要交件休息去了 XD 08/26 22:10
reiyo:感謝大家的意見~ 謝謝 08/26 22:10
DrStein:加十趴是因為-ftree-vectorize 吧? 08/27 03:41
angleevil:新版有O4喔!你可以挑戰極限. 08/27 09:50
Fenikso:O4存在一陣子了,效果跟O3完全一樣XD. 新版增加的是Ofast 08/27 09:59
Favonia:Ofast意思是「請不擇手段加速,稍微違反標準也無所謂」xDD 08/27 12:11
james732:樓上兩樓的ID好像 XDD 08/27 12:12
angleevil:反正原po也不管以後debug到死,那他就玩O4吧 08/27 12:50
reiyo:10%全來自-funswitch-loops 所以最後就只多加這個... 08/28 01:54
reiyo:其實那程式也只是一個軟體設計比賽 28個測資都通過 就賭下了 08/28 01:58
reiyo:最多就賠上了我們的小團隊... 不會害到其他人 XD 08/28 02:02