→ MOONRAKER:上次有人鬧一個笑話:他寫了一個程式,大意是 04/18 23:39
→ MOONRAKER:while (a<100) { a=a++; } 結果下場是永遠跑不完… 04/18 23:40
→ MOONRAKER:喔對了,當然前面有 int a=0; 04/18 23:41
→ MOONRAKER:不過這其實是eval order的問題。compiler-dependent. 04/18 23:42
→ VictorTom:不知道為什麼看到這個自己和自己運算的statement, 就想 04/19 00:36
→ VictorTom:到小弟剛學會用 a^=b^=a^=b; 這種方法耍帥來swap時遇到 04/19 00:37
推 wowtiger:結果還是單純的 mov 比較快 因為 xor 沒法並行 mov 可以 04/19 00:39
→ VictorTom:的悲劇: sort一個array, 沒注意到換了a[i]和a[i]...Orz 04/19 00:40
→ wowtiger:阿 抱歉 原來還有要推文阿 04/19 00:41
→ VictorTom:並行?? temp swp不會有WAR的問題嗎?_? 雖然看起來可以 04/19 00:43
→ VictorTom:用reg rename來解決; w大不會啦, 我剛想太久了^^|| 04/19 00:43
→ VictorTom:因為我一時想不起來當初到底幹了什麼蠢事debug了半天XD 04/19 00:43
推 wowtiger:所以有些 trick 還是要知道為何有這個 trick 存在 04/19 00:46
→ VictorTom:其實說真的除了少用個temp我還真不知道它的trick在哪Orz 04/19 00:57
推 wowtiger:trick就在不用temp這樣而已XD 這是CPU只有一個reg才需要 04/19 01:00
→ VictorTom:所以有些trick應該拿來當歷史故事書看一看就好....XDDD 04/19 01:21