連結器與載入器與執行檔格式

C語言的main函式以「return 3;」結束時,該值3一般會如何處理?

  1. A作為程式的結束狀態,傳給啟動程式的一方(shell等)
  2. B畫面上顯示「3」
  3. C成為下次啟動程式時的第一個引數
查看答案與解析

正確答案:A. 作為程式的結束狀態,傳給啟動程式的一方(shell等)

main的回傳值會由啟動程式碼傳給exit,並透過作業系統作為結束狀態傳達給父行程。依慣例0表示成功,非0表示某種失敗,在shell中可用「echo $?」查看上一個指令的結束狀態。在腳本中,會依據這個值決定要繼續或停止後續處理。

  • A. 正確。依慣例0表示成功,非0表示失敗。
  • B. 回傳值不會自動顯示。
  • C. 不會成為下次的引數。
練習這個領域 前往領域頁面

連結器與載入器與執行檔格式的其他題目

  1. 對執行檔使用strip指令時會發生的事,下列何者正確?
  2. 關於連結器對弱符號(weak symbol)的處理,下列何者正確?
  3. C++編譯器在函式名稱上附加參數型別等資訊以產生符號名稱的「名稱修飾(name mangling)」,其主要目的為下列何者?
  4. Linux的dlopen函式(相當於Windows的LoadLibrary)的用途,下列何者最為適切?
  5. 當100個行程使用相同的共用函式庫時,關於實體記憶體的使用方式,下列何者正確?

這個領域的比較