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

關於Linux等系統常用的ELF格式檔案,下列何者正確?

  1. A是執行檔專用的格式,不能用於目的檔
  2. B目的檔、執行檔、共用函式庫都使用它,由標頭與區段(section)等所構成
  3. C是用來儲存影像的格式
查看答案與解析

正確答案:B. 目的檔、執行檔、共用函式庫都使用它,由標頭與區段(section)等所構成

ELF(Executable and Linkable Format)是Linux以及許多UNIX系作業系統與嵌入式裝置所使用的程式檔案格式。開頭的ELF標頭記載了目標CPU、是否為64位元、開始執行的位址等,其後接著.text、.data等區段,以及表示載入器要載入記憶體之單位的程式標頭(program header)。Windows使用PE格式,macOS使用Mach-O格式。

  • A. 目的檔與共用函式庫也都是ELF。
  • B. 正確。是Executable and Linkable Format的縮寫。
  • C. 這是為程式所設計的格式。
練習這個領域 前往領域頁面

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

  1. 執行檔的.text區段中存放的是下列何者?
  2. 在C語言中,寫在檔案外側的全域變數「int limit = 100;」,一般會放在哪個區段?
  3. 關於.bss區段的特徵,下列何者正確?
  4. 執行C語言的「char *p = "hello"; p[0] = 'H';」時,在許多環境中會異常終止。下列關於其原因的敘述何者正確?
  5. 下列全域變數中,一般會放在.bss區段的組合為何?

這個領域的比較