linux下后缀为so的文件怎么打开,linux中.so后缀的文件怎么使用啊
參考1:http://zhidao.baidu.com/link?url=Zx0t6DMIpPvMNhIKZEudJOmDR4MXcr-B5_KbELCIoNz1jnJ7A_--J-qIaiVkYIi0FPqIY-lUIcuRA6NEWHK9aK
在WINDOWS系統中有很多的動態鏈接庫(以.DLL為后綴的文件,DLL即Dynamic Link Library)。這種動態鏈接庫,和靜態函數庫不同,它里面的函數并不是執行程序本身的一部分,而是根據執行程序需要按需裝入,同時其執行代碼可在多個 執行程序間共享,節省了空間,提高了效率,具備很高的靈活性。同樣,LINUX的也具備類似的動態鏈接庫,而且為數不少。在/lib目錄下,就有許多以.so作后綴的文件,這就是LINUX系統應用的動態鏈接庫,只不過與WINDOWS叫法不同,它叫so,即Shared Object,共享對象。(在LINUX下,靜態函數庫是以.a作后綴的) X-WINDOW作為LINUX下的標準圖形窗口界面,它本身就采用了很多的動態鏈接庫(在/usr/X11R6/lib目錄下),以方便程序間的共享, 節省占用空間。flash只是一個插件,在windows中就是一個ocx的鏈接庫方式(和dll略有不同),因此linux中一旦你了一個共享函數庫,你還需要安裝它。其實簡單的方法就是拷貝
你的庫文件到指定的標準的目錄(例如/usr/lib),然后運行ldconfig。
如果你沒有權限去做這件事情,例如你不能修改/usr/lib目錄,那么
你就只好通過修改你的環境變量來實現這些函數庫的使用了。首先,
你需要創建這些共享函數庫;然后,設置一些必須得符號鏈接,特別
是從soname到真正的函數庫文件的符號鏈接,簡單的方法就是運行ldconfig:
ldconfig -n directory_with_shared_libraries
然后你就可以設置你的LD_LIBRARY_PATH這個環境變量,它是一個以逗號
分隔的路徑的集合,這個可以用來指明共享函數庫的搜索路徑。例如
,使用bash,就可以這樣來
啟動一個程序my_program:
LD_LIBRARY_PATH=.LD_LIBRARY_PATH my_program
參考2:http://blog.csdn.net/nieyinyin/article/details/6890557
Linux下的.so是基于Linux下的動態鏈接,其功能和作用類似與windows下.dll文件。
下面是關于.so的介紹:
一、引言
通常情況下,對函數庫的鏈接是放在編譯時期(compile time)完成的。所有相關的對象文件(object file)與牽涉到的函數庫(library)被鏈接合成一個可執行文件(executable file)。程序在運行時,與函數庫再無瓜葛,因為所有需要的函數已拷貝到自己門下。所以這些函數庫被成為靜態庫(static libaray),通常文件名為“libxxx.a”的形式。
其實,我們也可以把對一些庫函數的鏈接載入推遲到程序運行的時期(runtime)。這就是如雷貫耳的動態鏈接庫(dynamic link library)技術。
總結
以上是生活随笔為你收集整理的linux下后缀为so的文件怎么打开,linux中.so后缀的文件怎么使用啊的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 晟数学院 oracle,Oracle 控
- 下一篇: 编译linux内核分区,Ubuntu编译