亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

第四章 如何生成動態、靜態鏈接庫并使用

2024-06-28 13:22:04
字體:
來源:轉載
供稿:網友
第四章 如何生成動態、靜態鏈接庫并使用

第四章 如何生成動態、靜態鏈接庫并使用

一、如何生成動態鏈接庫并使用

1、生成動態鏈接庫

在第三章創建的PRoject1工程里面把main.cpp的main函數名更名為maina。

打開project1.pro,將TEMPLATE = app改為TEMPLATE = lib。

執行“qmake”生產新的Makefile,再執行“make”編譯。

編譯過程中用ln指令生產了動態鏈接庫的軟鏈接文件。make編譯工程時,就執行“ln -s”建立指向libproject1.so.1.0.0的3個軟鏈接文件(libproject1.so,libproject1.so.1和libproject1.so.1.0)。程序在鏈接動態庫時,默認搜索“.so”后綴的文件,因而為了能使用這些庫,需要建立指向它們的軟鏈接(鏈接名以.so為后綴),這就是工程編譯的時候建立軟鏈接的意義。

2、使用動態鏈接庫

當第三方程序鏈接庫libproject1.so時,調用maina即可繪制出一個軟件界面。細節都在庫中實現了,使用者只需調用接口。執行下面指令:

在mylib.h輸入以下代碼保存

庫和庫的接口定義文件都齊備了,接下來在testlib目錄下編寫使用這個庫的測試代碼test.cpp,內容如下:

最后就是編譯測試

"-I"來指定庫的頭文件搜索路徑;“-L”指定動態庫所在的路徑;“-lproject1”告訴編譯器具體找哪個庫,注意:我們寫的是“-lproject1”,并不是“-llibproject1”,能這樣寫也是因為linux對動態鏈接庫命名的偏好(必須以“lib”3個字母開頭)引起的。在用“-l”指定要鏈接的庫文件名時,可以簡寫為“-lproject1”而不用寫全。

執行.test時出現上面錯誤提示,提示找不到動態鏈接庫,執行“ldd ./test”,查看一下test用到的動態鏈接庫都有哪些。

可以看到“libproject1.so.1 => not found”,而程序用到的其他的庫,如libc.so.6在“/lib”目錄下,libstdc++.so.6在“/usr/lib”下可以找到。這兩個路徑(/lib和/usr/lib)正是Linux動態庫的默認搜索路徑。自己做的動態鏈接庫(libproject1.so.1)需要復制到默認搜索路徑里面,當應用程序執行是需要用到動態鏈接庫里面的接口(maina),系統會自動地到默認搜索路徑去找相應的動態庫,然后把找到的動態鏈接庫載入內存供應用程序使用。

通過加載環境變量(LD_LIBRARY_PATH)來指定動態庫搜索路徑。

之前的軟件界面出來了。

二、如何生成靜態鏈接庫并使用

1、生成靜態鏈接庫

在第三章創建的project1工程里面打開project1.pro,在里面添加一條語句“CONFIG += staticlib”。

執行“qmake”生產新的Makefile,再執行“make”編譯生成靜態鏈接庫libproject1.a。

2、使用靜態鏈接庫

在建立的testlib目錄下創建teststaticlib目錄,把生成的靜態鏈接庫(libproject1.a)和前面創建的mylib.h頭文件以及測試代碼test.cpp復制到teststaticlib目錄下,執行“qmake -project”生成工程文件teststaticlib.pro,編譯該文件,添加“LIBS += -L ./ -lproject1”,指定libproject1.a搜索路徑,之后重新生成Makefile,編譯運行工程,可以看到那個界面有蹦出來了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线播放资源| 91网站在线免费观看| 日韩中文在线中文网在线观看| 88国产精品欧美一区二区三区| 亚洲国产另类 国产精品国产免费| 久久精品一本久久99精品| 亚洲国产婷婷香蕉久久久久久| 91九色视频在线| 国产精品视频26uuu| 亚洲精品天天看| 精品国产一区久久久| 国产精品久久久久久超碰| 91久久嫩草影院一区二区| 亚洲二区在线播放视频| 国产+人+亚洲| 日韩电影第一页| 国产精品第一第二| 国产精品久久久久久久久久ktv| 亚洲欧美精品suv| 亚洲国产精品va在线观看黑人| 成人中文字幕+乱码+中文字幕| 国产91精品久久久久久久| 成人激情视频在线播放| 欧美日韩午夜剧场| 亚洲欧美激情一区| 91精品久久久久久久久久久久久| 亚洲欧洲中文天堂| 日韩欧美极品在线观看| 久久成人精品一区二区三区| 亚洲精品成人久久久| 91久久精品国产91久久性色| 欧美日韩在线观看视频| 日本欧美爱爱爱| 日韩成人中文字幕| 热久久免费国产视频| 国产一区二区精品丝袜| 欧美日韩精品在线视频| 亚洲最大成人免费视频| 日韩在线观看网站| 日韩电视剧在线观看免费网站| 九九久久久久99精品| 91久久中文字幕| 日韩中文在线观看| 欧美性色19p| 亚洲电影免费观看高清完整版在线| 国产精品欧美一区二区三区奶水| 中文字幕视频在线免费欧美日韩综合在线看| 国产成人aa精品一区在线播放| 欧美尤物巨大精品爽| 日韩欧美中文字幕在线播放| 国产婷婷97碰碰久久人人蜜臀| 欧美成人三级视频网站| 欧美一区二区三区精品电影| 日本一区二区三区在线播放| 亚洲国产精彩中文乱码av| 91国在线精品国内播放| 91精品国产91久久久久久不卡| 精品综合久久久久久97| 久久精品色欧美aⅴ一区二区| 国产精品国模在线| 国产成人综合精品在线| 国产精品中文字幕久久久| 久久久久久久久久久免费| 欧美成人午夜免费视在线看片| 久久亚洲精品视频| 欧美日韩国产页| 亚洲欧美成人网| 国产精品中文字幕久久久| 久久久久久久久网站| 国产在线精品播放| 久久综合伊人77777蜜臀| 欧美大片在线影院| 日韩精品久久久久久福利| 日韩精品中文字幕在线观看| 久久综合色88| 日韩激情av在线播放| 国产深夜精品福利| 都市激情亚洲色图| www.亚洲男人天堂| 欧美性猛交xxxx黑人猛交| 日韩在线小视频| 午夜精品蜜臀一区二区三区免费| 九九热精品视频在线播放| 国产精品视频午夜| 欧美激情在线视频二区| www.国产一区| 日韩精品视频在线播放| 欧美亚洲国产视频| 国产99在线|中文| 97视频在线播放| 精品国产一区久久久| 欧美午夜精品久久久久久人妖| 欧美激情综合亚洲一二区| 日韩在线视频免费观看高清中文| 欧日韩不卡在线视频| 国产精品jvid在线观看蜜臀| 8090理伦午夜在线电影| 亚洲精品国产精品久久清纯直播| 狠狠躁18三区二区一区| 九九视频这里只有精品| 欧美华人在线视频| 成人黄色免费网站在线观看| 成人黄色片在线| 精品人伦一区二区三区蜜桃免费| 国产精品偷伦免费视频观看的| 亚洲视频专区在线| 狠狠躁18三区二区一区| 国产精品亚洲第一区| 免费不卡欧美自拍视频| 久久精品电影网站| 91九色在线视频| 欧美性xxxxhd| 亚洲深夜福利网站| 88xx成人精品| 国产精品户外野外| 91免费精品视频| 久久精品91久久久久久再现| 精品亚洲一区二区三区四区五区| 国产精品丝袜视频| 日韩中文字幕视频| 亚洲美女av在线播放| 欧美精品亚州精品| 久久这里只有精品视频首页| 中日韩午夜理伦电影免费| 91sao在线观看国产| 欧美性猛交xxxx| 亚洲伦理中文字幕| 欧美性高跟鞋xxxxhd| 色偷偷偷综合中文字幕;dd| 久久精品国亚洲| 亚洲成色777777女色窝| 97久久精品人人澡人人爽缅北| 久久婷婷国产麻豆91天堂| 亚洲精品日韩av| 日韩欧美一区二区在线| 日韩69视频在线观看| 欧美日韩亚洲视频一区| 久久久久久一区二区三区| 亚洲成人a级网| 亚洲国产精品人人爽夜夜爽| 亚洲专区中文字幕| 精品国产区一区二区三区在线观看| 亚洲黄页视频免费观看| 久久亚洲春色中文字幕| 国产在线不卡精品| 日本a级片电影一区二区| 成人在线视频网| 国产91|九色| 久久免费少妇高潮久久精品99| 欧美日韩亚洲视频| 国产午夜精品一区二区三区| 国产成人一区二区| 中文字幕精品—区二区| 久久久久久中文字幕| 一级做a爰片久久毛片美女图片| 亚洲国产精品福利| 色老头一区二区三区| 国产免费一区视频观看免费| 国产精品一区二区三区在线播放| 久久影视电视剧凤归四时歌| 国产精品www网站| 亚洲片在线资源| 亚洲精品视频播放| 91成人免费观看网站|