程式語言通常使用堆疊(stack)來維護函式呼叫的順序。當一個函式被呼叫時,系統會創建一個新的啟動紀錄(activation record),也被稱為函式框架(function frame),並將其推到堆疊的頂部。該啟動紀錄中包含函式呼叫所需的所有相關信息,例如函式的參數、區域變量、返回地址等等。當函式執行完畢時,系統會從堆疊的頂部彈出該啟動紀錄,並返回到呼叫該函式的位置繼續執行。