libmysqlclient.so.15文件,是Linux系統(tǒng)中的一個(gè)動(dòng)態(tài)鏈接庫文件,需要的用戶可以到騰牛網(wǎng)下載,并按照以下的方式安裝即可。
.so文件是Linux下的程序函數(shù)庫,即編譯好的可以供其他程序使用的代碼和數(shù)據(jù)
linux下何謂.so文件:
1. 用過windows的同學(xué)應(yīng)該都知道 .dll文件吧, 這二者有什么共通之處呢,其實(shí) .so文件就跟.dll文件差不多.//
2.一般來說.so文件就是常說的動(dòng)態(tài)鏈接庫, 都是C或C++編譯出來的。與Java比較就是:它通常是用的Class文件(字節(jié)碼).//
3.Linux下的.so文件時(shí)不能直接運(yùn)行的,一般來講,.so文件稱為共享庫.//
for example:
(1)動(dòng)態(tài)庫的編譯
這里有一個(gè)頭文件:so_test.h,三個(gè).c文件:test_a.c、test_b.c、test_c.c,我們將這幾個(gè)文件編譯成一個(gè)動(dòng)態(tài)庫:libtest.so。
命令:$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so
(參考2:都是由C或C++編譯出來的)
(-shared 該選項(xiàng)指定生成動(dòng)態(tài)連接庫(讓連接器生成T類型的導(dǎo)出符號表,有時(shí)候也生成弱連接W類型的導(dǎo)出符號),不用該標(biāo)志外部程序無法連接。相當(dāng)于一個(gè)可執(zhí)行文件)
(-fPIC:表示編譯為位置獨(dú)立的代碼,不用此選項(xiàng)的話編譯后的代碼是位置相關(guān)的所以動(dòng)態(tài)載入時(shí)是通過代碼拷貝的方式來滿足不同進(jìn)程的需要,而不能達(dá)到真正代碼段共享的目的。)
(2)動(dòng)態(tài)庫的鏈接
這里有個(gè)程序源文件 test.c 與動(dòng)態(tài)庫 libtest.so 鏈接生成執(zhí)行文件 test:
命令:$ gcc test.c -L. -ltest -o test
(注:測試是否動(dòng)態(tài)連接,如果列出libtest.so,那么應(yīng)該是連接正常了)
(-L.:表示要連接的庫在當(dāng)前目錄中)
(-ltest:編譯器查找動(dòng)態(tài)連接庫時(shí)有隱含的命名規(guī)則,即在給出的名字前面加上lib,后面加上.so來確定庫的名稱)
命令:$ ldd test
(注:執(zhí)行test,可以看到它是如何調(diào)用動(dòng)態(tài)庫中的函數(shù)的。)
.so文件是Linux下的程序函數(shù)庫,即編譯好的可以供其他程序使用的代碼和數(shù)據(jù)linux下何謂.so文件:1.用過windows的同學(xué)應(yīng)該都知道.dll文件吧,這二者有什么共通之處呢,其實(shí).so文件就跟.dll文件差不多.//2.一般來說.so文件
關(guān)于騰牛 | 聯(lián)系方式 | 發(fā)展歷程 | 版權(quán)聲明 | 下載幫助(?) | 廣告聯(lián)系 | 網(wǎng)站地圖 | 友情鏈接
Copyright 2005-2022 QQTN.com 【騰牛網(wǎng)】 版權(quán)所有 鄂ICP備2022005668號-1 | 鄂公網(wǎng)安備 42011102000260號
聲明:本站非騰訊QQ官方網(wǎng)站 所有軟件和文章來自互聯(lián)網(wǎng) 如有異議 請與本站聯(lián)系 本站為非贏利性網(wǎng)站 不接受任何贊助和廣告