1. 系統呼叫(system call)中的引數傳遞
比如對於 C 語言庫函式 read 的系統呼叫:
result = read(fd, buffer, nbytes);
read 系統呼叫的引數被壓入到棧中,即引數傳遞是通過棧來進行。但這並非唯一的引數傳遞方法。事實上,這還算不上效率最高的傳遞方法。效率最高的方法是將引數存放在指定的暫存器裡面。暫存器的訪問速度顯然高於棧,故這種引數傳遞可以提升系統呼叫執行的效率。
在 x64 體系結構中,最前面的 8 個引數由暫存器傳遞。只有超過 8 個引數時,後面的引數才通過棧來傳遞。