※ 引述《leicheong.bbs@bbs.sayya.org (理昌)》之銘言:
> ※ 引述《coldstar.bbs@bbs.cs.nctu.edu.tw (灑落的月光伴著)》之銘言:
> > 我不懂的不是這些事
> > 而是這些CRT的函式應已編譯完成
> > 在編譯器不了解其內部運作的情況下, 仍然會觀察該函式的運作方式
> > 然後合乎邏輯的把 "%d" 和 b 轉成 "10" 嗎?
> 這關乎parameter passing的方式.
> 我想你找一下關於parameter passing的書/網頁看一下會比較清楚, 關鍵是
> 只要compiler按照該function declare的方式, 把合適的東西(值或variable
> pointer)放到calling convension下指定的位置(例如Pascal calling
> conversion下是逆次序PUSH到stack)就可以了.
我不是這個意思
對 compiler 來說,要把 printf("%d", b) 最佳化成 printf("10")
應該需要 compiler 進 printf 裡實地觀察一遍才知道的吧?
但是現在的 compiler 已經這麼聰明了?
--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: coldstar
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: scarlet.Dorm8.NCTU.edu.tw
☆ 次世代BS2 ☆ 可申請個人板 150MB 超大相簿 http://pic.bs2.to 資訊人 250MB