国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > CentOS > 正文

centos 聯合編譯動態連接庫詳解

2020-07-08 12:41:57
字體:
來源:轉載
供稿:網友

么是動態鏈接庫

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

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

將文件編譯成.so格式的動態鏈接庫

gcc -o libme.so wso.c -shared 

將wso.c編譯成 libme.so 庫名為me 

lib so為前綴跟后綴

聯合編譯

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

-L 動態鏈接庫的文件夾位置 

-l 動態鏈接庫的庫名 (去除最前面的lib和.so就是庫名) 

接下來你會發現編譯成功了,但是運行依然失敗

失敗原因是操作系統無法找到

其實Linux和windows一樣,有個類似system32的系統庫文件夾。各種公共類庫都放于此 

CentOS中有和windows很類似的兩個存放公共庫的文件夾 

/lib 內核級 

/usr/lib 用戶系統級 

/usr/lib64/ 64位系統才有 

你要把你做好的庫 瞎放也沒關系

解決方法

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

然后執行ldconfig (把動態庫緩存起來了。加了新玩意兒需要重新更新緩存) 

運行newws 成功

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临沧市| 玉龙| 江达县| 甘孜县| 文安县| 景洪市| 卓尼县| 马尔康县| 原阳县| 双江| 会昌县| 禄劝| 车致| 遵义县| 工布江达县| 宁蒗| 乌拉特中旗| 凉山| 镇雄县| 焉耆| 尼木县| 遵义县| 龙泉市| 新平| 德惠市| 广南县| 图木舒克市| 嘉义县| 青田县| 襄城县| 阜阳市| 茶陵县| 金阳县| 临清市| 雷波县| 苏尼特右旗| 噶尔县| 余江县| 永昌县| 贞丰县| 福海县|