欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

centos 聯(lián)合編譯動(dòng)態(tài)連接庫(kù)詳解

  發(fā)布時(shí)間:2017-02-13 14:16:04   作者:佚名   我要評(píng)論
今天小編將為大家?guī)?lái)的是centos 聯(lián)合編譯動(dòng)態(tài)連接庫(kù)詳解;希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧

么是動(dòng)態(tài)鏈接庫(kù)

Windows上是dynamic linklibrary (DLL),后綴?xxx.dll 

UNIX或Linux上是Shared Library .后綴是 xxx.so

將文件編譯成.so格式的動(dòng)態(tài)鏈接庫(kù)

gcc -o libme.so wso.c -shared 

將wso.c編譯成 libme.so 庫(kù)名為me 

lib so為前綴跟后綴

聯(lián)合編譯

gcc -L /root/myc/ -l me ws.c -o newws 

-L 動(dòng)態(tài)鏈接庫(kù)的文件夾位置 

-l 動(dòng)態(tài)鏈接庫(kù)的庫(kù)名 (去除最前面的lib和.so就是庫(kù)名) 

接下來(lái)你會(huì)發(fā)現(xiàn)編譯成功了,但是運(yùn)行依然失敗

失敗原因是操作系統(tǒng)無(wú)法找到

其實(shí)Linux和windows一樣,有個(gè)類(lèi)似system32的系統(tǒng)庫(kù)文件夾。各種公共類(lèi)庫(kù)都放于此 

CentOS中有和windows很類(lèi)似的兩個(gè)存放公共庫(kù)的文件夾 

/lib 內(nèi)核級(jí) 

/usr/lib 用戶(hù)系統(tǒng)級(jí) 

/usr/lib64/ 64位系統(tǒng)才有 

你要把你做好的庫(kù) 瞎放也沒(méi)關(guān)系

解決方法

把我們做的SO文件拷貝到公共庫(kù)去(cp命令) 

然后執(zhí)行l(wèi)dconfig (把動(dòng)態(tài)庫(kù)緩存起來(lái)了。加了新玩意兒需要重新更新緩存) 

運(yùn)行newws 成功

相關(guān)文章

最新評(píng)論