close

linker example :

http://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_UG_linking_your_application/Linking_Examples.htm

 

static linking:

  1.執行檔比較大: 因為它會把有用到library的地方 獨立作連結

  2.記憶體使用上較沒效率:因為是獨立連結,所以library會被load到不同得記憶體  

  3.commend linking會因為版本不同而需要做修改

dynamic linking:

  1. 在製作執行檔時看到mkl function會給它一個symbol ,不同的function 擁有不同的symbol

      執行時再去解讀這些symbol( 所以是 run-time)

  2.同一個symbol 它會被load到相同的記憶體 只要program用到它 就會去這一塊記憶體尋找

  3.commend linking consistent 所以即使 版本up-date 也不用改!

 

一般來說都會使用dynamic linking 因為維護上的便利性 (可以不用一直更改commend linking)

NOTE:

MKL linking 有一件很重要的事! 要改環境變數!

export  LD_LIBRARY_PATH=/opt/intel/mkl/9.0/lib/64:$LD_LIBRARY_PATH

 

arrow
arrow
    全站熱搜
    創作者介紹

    quantum2nd 發表在 痞客邦 留言(0) 人氣()