tag:blogger.com,1999:blog-4982215793068879977.post8823946893267270225..comments2023-09-07T02:56:05.540+08:00Comments on fcamel 技術隨手記: x86 呼叫函式的設計慣例 (call convention)fcamelhttp://www.blogger.com/profile/04792244455260595133noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-4982215793068879977.post-27863954604693952612011-11-03T12:17:06.934+08:002011-11-03T12:17:06.934+08:00為什麼用 __cdecl 會比較肥啊? 若編出來的東西像文中 gcc 編出來的結果, caller/...為什麼用 __cdecl 會比較肥啊? 若編出來的東西像文中 gcc 編出來的結果, caller/callee 少了幾個 pop 指令, binary size 應該會比較小才對??fcamelhttps://www.blogger.com/profile/04792244455260595133noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-34163998774519587602011-11-03T11:35:47.414+08:002011-11-03T11:35:47.414+08:00MSDN中有介紹 __stdcall (callee清除)或 __cdecl (預設calling ...MSDN中有介紹 __stdcall (callee清除)或 __cdecl (預設calling convention,caller清除)的差別。<br /><br />同一個程式碼,其中的函式用 __cdecl會比用__stdcall宣告的程式碼size肥胖一點。<br />大部份的Win32 API都用__stdcall宣告,可能就是為了省一點size吧?ahttps://www.blogger.com/profile/09942904633411112409noreply@blogger.com