當前位置:編程學習大全網 - 源碼下載 - linux動態庫調用動態庫linux動態庫調用

linux動態庫調用動態庫linux動態庫調用

如何更新linux系統動態鏈接庫/usr/local/lib/usr/lib?

可以放在當前目錄下,但是要設置壹下庫文件的路徑:LD_LIBRARY_PATH=./:/usr/local/pet20/lib:/lib/:/usr/local/libexportLD_LIBRARY_PATH這樣,在調用的時候就會自動從當前目錄找。

如果是顯式調用則不用,只要在程序裏指定.so的文件路徑就可以了。所以放在當前目錄下也是沒問題的。

linux標準庫是動態還是靜態?

編譯器的默認設置是連接動態庫,這就要求在程序執行的時候需要的動態庫必須存在。改變編譯選項可以變為靜態連接,這樣生成的程序運行時不需要庫的支持,但是文件的尺寸壹般較大。

linx的C標準庫都有,看妳自己喜歡哪樣用哪樣。

當要使用靜態的程序庫時,連接器會找出程序所需的函數,然後將它們拷貝到執行文件,由於這種拷貝是完整的,所以壹旦連接成功,靜態程序庫也就不再需要了。

然而,對動態庫而言,就不是這樣。動態庫會在執行程序內留下壹個標記指明當程序執行時,首先必須載入這個庫。由於動態庫節省空間,linux下進行連接的缺省操作是首先連接動態庫,也就是說,如果同時存在靜態和動態庫,不特別指定的話,將與動態庫相連接。

linux下的動態鏈接庫和靜態鏈接庫到底是個什麽鬼?

動態庫和靜態庫都是壹組函數集合,打包在壹起供應用程序調用,區別是:靜態庫名稱壹般為xxx.a,在編譯時和應用程序鏈接在壹起,這樣的應用程序占用空間較大。動態庫名稱壹般為xxx.so,對於動態庫即可以在編譯時鏈接,也可以使用dlopen()/dlsym()/dlclose()函數在運行時調用,後種方式占用空間較小,且可以實現動態庫在進程間***享,只在內存中保留壹份,減少了內存開銷。

  • 上一篇:大部分的詩都是遊戲。
  • 下一篇:電梯提升高度多少米須裝補償鏈,在那個標準裏,標準號石多少?
  • copyright 2024編程學習大全網