什麼是引數
呼叫函式或程序時傳遞的值。宣告端接收值的變數稱為形式參數,呼叫端傳遞的值稱為實際引數。有複製值後傳遞的傳值,以及讓被呼叫端參照變數或陣列本身的傳參照。
日文名稱: 引数
「引數」出現在10領域的24道練習題中(程式設計基礎(虛擬碼追蹤), 編譯器, 指令集與組合語言等)。
這個名詞所屬的領域: 程式設計基礎(虛擬碼追蹤)
呼叫函式或程序時傳遞的值。宣告端接收值的變數稱為形式參數,呼叫端傳遞的值稱為實際引數。有複製值後傳遞的傳值,以及讓被呼叫端參照變數或陣列本身的傳參照。
日文名稱: 引数
「引數」出現在10領域的24道練習題中(程式設計基礎(虛擬碼追蹤), 編譯器, 指令集與組合語言等)。
這個名詞所屬的領域: 程式設計基礎(虛擬碼追蹤)
在RISC-V的標準呼叫慣例中,整數引數最多8個放入a0~a7(x10~x17)來傳遞,回傳值放在a0,RV32上64位元的值等則放入a0與a1兩個暫存器回傳。
在RISC-V的標準呼叫慣例中,下列何者是用於傳遞整數引數與回傳值的暫存器?引數用的暫存器只有a0~a7共8個,所以第9個以後由呼叫端堆入堆疊,被呼叫端則從堆疊指標起算的固定位置讀取。
在RISC-V的標準呼叫慣例中,呼叫一個有10個整數引數的函式時,第9個與第10個引數是在哪裡傳遞?在腳本中,$1、$2… 表示第1個、第2個引數,$# 表示引數的個數,$0 表示腳本本身的名稱。
如上所示,加上引數執行腳本 s.sh 時,輸出是下列何者?呼叫慣例規定了引數要放進哪個暫存器、回傳值要回傳到哪裡、哪些暫存器被呼叫端可以破壞,以及堆疊如何使用。
下列何者是制定呼叫慣例(calling convention)的主要目的?語意分析針對文法上寫法正確的程式,檢查型別是否一致、是否使用了未宣告的名稱、傳給函式的引數數量是否正確等。
下列何者最適合作為編譯器的語意分析所能發現的錯誤範例?