UNIQLOCK

2010年8月26日 星期四

Calling Convention (呼叫協定)

Calling Convention (呼叫協定)

因為函式呼叫牽涉到參數的傳遞, 所以並不只是單純跳到那個Address執行程式碼再跳回來這麼簡單, 呼叫副程式(函式)的主程式, 需要知道怎麼填參數,副程式(函式)才能接到參數後進行處理, 再將結果傳給主程式, 所以這段協定稱之為Calling Convention(呼叫協定)

但因為程式類型的不同(assambly, c/c++ , passcal ,fortran, vc .....), 並因為平台不同(Windows,Linux,MacOS,Unix...), 最主要的是CPU的不同(x86,PowerPC,Sparc.....), 所以這種協定就有很多方式...




看了以後個人覺得很清晰明瞭它的含意,因為正在看EFI Spec發現了EFIAPI這Data Type常出現在函式定義中,但並不了解為何有這東西.不過有關它的協定目前尚未研讀.


沒有留言:

張貼留言