solinux
1. linux上.so文件可以直接運行嗎
so文件不可以直接運行的,so文件是動態函數庫文件,函數庫文件(包括.a文件和.so文件)只能用來被調用運行,不能直接運行的,so文件就相當於Windows下的dll文件,dll文件就是不能直接運行的。
2. 關於Linux中的so文件
你知道windows下的dll文件嗎???
其實和linux下的so文件是一回事,,so文件也是編譯好了的二進制的鏈接庫文件,,,
一般來說都是c或c++編譯出來的,,java的話通常是用的位元組碼,也就是class文件。。
你自己寫一個 helloworld的c程序,然後在命令行下用編譯器編譯gcc -c helloworld.c -o hello.o這樣編譯出來的結果就是那樣的東西了。。這樣的文件是不能直接運行的。。
3. linux中.so後綴的文件怎麼使用
在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中一旦你了一個共享函數庫,你還需要安裝它。其實簡單的方法就是拷貝 x0dx0a你的庫文件到指定的標準的目錄(例如/usr/lib),然後運行ldconfig。 x0dx0a如果你沒有許可權去做這件事情,例如你不能修改/usr/lib目錄,那麼 x0dx0a你就只好通過修改你的環境變數來實現這些函數庫的使用了。首先, x0dx0a你需要創建這些共享函數庫;然後,設置一些必須得符號鏈接,特別 x0dx0a是從soname到真正的函數庫文件的符號鏈接,簡單的方法就是運行ldconfig: x0dx0aldconfig -n directory_with_shared_libraries x0dx0a然後你就可以設置你的LD_LIBRARY_PATH這個環境變數,它是一個以逗號 x0dx0a分隔的路徑的集合,這個可以用來指明共享函數庫的搜索路徑。例如 x0dx0a,使用bash,就可以這樣來 x0dx0a啟動一個程序my_program: x0dx0aLD_LIBRARY_PATH=.LD_LIBRARY_PATH my_program
4. linux下的so,o,lo,a,la文件有什麼區別
它們的具體區別並不算太大,只是鏈接後的不同,具體區別如下:
5. linux的C編程,怎麼使用so文件
linux下的.so文件為共享庫,相當於windows下的dll文件,使用方法如下:
在你的工程源代碼里包含.h頭文件,然後可以調用動態庫里的函數,在鏈接的時候加上如下編譯器參數:
-l xx.so
如果你的so文件是以lib開頭的,還可以直接這樣使用:
-lxx
xx是你的.so文件名
其實使用方法和你使用數學庫函數是一樣的,源代碼中添加
#include <math.h>,編譯的時候,加上-lm參數。
6. LINUX下.so結尾的文件如何運行,或者使用
.so結尾的文件是動態鏈接庫,動態鏈接庫不能主動運行,只能被動調用。
.so的使用方法:
需要這個庫放置到程序的搜索路徑下
需要這個庫提供的頭文件在c/c++程序中鏈接調用
c/c++程序執行時會到搜索路徑下動態載入.so庫
7. linux so文件的全稱是什麼
so的全稱是shared object,即共享動態鏈接庫,
類似於windows下的dll文件。
8. linux so是什麼 文件
.so文件代表Linux的共享函數庫文件,程序運行時可能會使用到裡面的函數代碼。當一個程序需要.so共享函數庫文件時,系統自動會把它載入到內存中使用。相當於Windows系統裡面的dll動態鏈接庫文件。
9. 什麼是linux中的SO動態庫
so動態鏈接庫是對它有依賴關系的程序運行時需要調用的,可以通過命令:
ldd 「程序名字」來查看程序調用了哪些動態鏈接庫,系統默認會自動載入/usr/lib/ 等目錄下的動態鏈接庫,如果是源碼安裝的庫,它的動態鏈接庫文件會存在你自定義安裝的目錄的lib下,這時你需要修改/etc/ld.so.conf文件來指定動態鏈接庫的載入路徑,然後運行ldconfig命令來載入動態鏈接庫,ldconfig -v是查看那些動態鏈接庫已經被載入了