Which of these commands allows you to use shared libraries that are in /usr/local/lib?



A.

export LD_PRELOAD=/usr/local/lib

B.

export LD_LIBRARY_PATH=/usr/local/lib

C.

ldconfig /usr/local/lib

D.

ldd /usr/local/lib

題解

選項A,「LD_PRELOAD」環境變數所儲存的路徑,為程式在執行(runtime)階段的時候幾乎最先會去尋找動態函式庫的位置,其優先權甚至在基本的函式庫之上。

選項B,「LD_LIBRARY_PATH」環境變數所儲存的路徑,為程式在執行(runtime)階段的時候會去尋找動態函式庫的位置。

選項C,「ldconfig」指令用來設定執行階段時的動態函式庫。選項的指令會將「/usr/local/lib」內的動態函式庫添加至「/etc/ld.so.cache」檔案內,使動態函式庫的快取被永久改變。為正確答案。

選項D,用法錯誤,「ldd」指令可以顯示程式或是函式庫與其它共享物件(動態函式庫)的關聯。