精華區beta Programming 關於我們 聯絡資訊
※ 引述《noguest.bbs@ptt.cc (guest)》之銘言: > ※ 引述《leicheong.bbs@bbs.sayya.org (理昌)》之銘言: > : 以上是未optimize的版本, optimize後的版本如下(完整的main()): > : 00401000 /$ 6A 0A PUSH 0A > : 00401002 |. 68 D8604000 PUSH test.004060D8 ; ASCII "%d" > : 00401007 |. E8 06000000 CALL test.00401012 > : 0040100C |. 83C4 08 ADD ESP,8 > : 0040100F |. 33C0 XOR EAX,EAX > : 00401011 \. C3 RETN > 你又一次不經測試就直接回其他的網友. 當網友質疑 compiler 不太可能 > 把兩個 printf 的參數, 最佳化成一個參數時, 你連測試都沒有測試就直接 > 回答是某某原因, 當別人對你的 "解答" 有疑問後, 你又沒有測試就回答另 > 一個原因, 結果你的回答還是不對, 你又再換了一個. 重頭到尾你一共說了 > library/package/DLL/calling convension 這幾個原因使 compiler 把兩個 > printf 的參數最佳化成一個, 結果, 最後證實 compiler 根本不會做這樣子 > 的最佳化, 你又一次的誤導網友. > 光是這一個討論串你已是第二次不經測試就給錯誤的答案, 每次還說的一付很有 > 信心的樣子, 誤導其他的網友. 麻煩你以後測試後有把握再 "解答" 其他網友 > 的問題吧. 我只是抓不到他其實要問甚麼問題吧... 關不經測試甚麼事呢? 我最初理解他的問題是: 「為什麼compiler不去看printf()的實作就可以 確定直接用"push 10"?」我希望引導的回答是「在function的宣告方式可以看到.」 在沒有弄清楚問題前不論有沒有實測, 給的都會是這樣的答案吧. 你這一次的指控這的有點「無理取鬧」啊... :( -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: pcd319228.netvigator.com