連結器與載入器與執行檔格式
將使用動態連結的程式複製到另一部電腦上執行,卻無法啟動。最可能的原因為下列何者?
- A因為函式庫的程式碼全都包含在執行檔中,檔案太大了
- B因為動態連結的程式規定只能在建置它的電腦上運作
- C沒有安裝所需的共用函式庫,或只有不相容的版本
查看答案與解析
正確答案:C. 沒有安裝所需的共用函式庫,或只有不相容的版本
動態連結的程式會使用執行它的電腦上的共用函式庫。如果沒有所需的函式庫,或只有缺少函式的舊版本,動態連結器就無法結合,導致啟動失敗。在Linux中可用ldd指令確認程式所需的共用函式庫,以及是否能找到它們。為了便於散布,有時也會刻意採用靜態連結。
- A. 動態連結時,函式庫的程式碼不會放入執行檔。
- B. 並沒有這樣的規定。
- C. 正確。取決於執行環境中的函式庫。