一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

QT 下共享庫(靜態(tài)庫和動態(tài)庫)的使用_qt靜態(tài)庫

 wuxinit_ 2023-10-27 發(fā)布于湖北

1.共享庫介紹

1. 1靜態(tài)函數(shù)庫

1.1.1 庫名稱

window下格式為: *.a
linux下格式為: *.a

1.1.2 特點

鏈接時被整合入目標(biāo)代碼。

1.1.3 優(yōu)點

軟件運行不再依賴外部庫的支持,可以獨立運行。

1.1.4 缺點

編譯后生成的exe包含了整個庫,所以體積比較大,而且由于是整個整合入代碼,所以如果有改動需要重新編譯軟件。

1.2 動態(tài)函數(shù)庫

1.2.1 庫名稱

window下格式為: *.dll
linux下格式為: *.so

1.2.2 特點

程序運行時再去庫里尋找函數(shù)。

1.2.3 優(yōu)點

生成的exe不受共享庫的影響,改變庫函數(shù)的時候不需要重新編譯軟件,只需要替換dll即可,方便庫的更新升級。

1.2.4 缺點

軟件需要依賴庫,安裝目錄會比較冗余,可能會出現(xiàn)奇怪的環(huán)境問題或者版本問題 。

2.QT生成共享庫

2.1生成靜態(tài)鏈接庫

 點開.pro文件

 

 關(guān)鍵配置:CONFIG += staticlib 表示只需要生成靜態(tài)庫

                TEMPLATE 生成目標(biāo)是共享庫

 

生成.a靜態(tài)庫 (靜態(tài)庫實際上就是.o文件的集合)

2.2生成動態(tài)鏈接庫

 點開.pro文件

關(guān)鍵配置: TEMPLATE 生成目標(biāo)是共享庫

 構(gòu)建工程。

 生成動態(tài)庫.dll 可以看到此處也有.a 不過很明顯這個.a不是上面那種靜態(tài)庫(太小了),實際上它是這個.dll的索引文件,在VS下應(yīng)該是一個.lib的文件,它只包含了庫中的索引,比如類或者函數(shù),而實際的實現(xiàn)則在dll中。

3.QT使用共享庫

 3.1 未引用狀態(tài)

 此時為沒有引用任何共享庫的狀態(tài),生成exe

 3.1引用動態(tài)鏈接庫

 

注意這個.a不是靜態(tài)鏈接庫,而是動態(tài)鏈接庫的索引

 轉(zhuǎn)到pro可見

 (關(guān)于pro參數(shù)問題后續(xù)單獨出再出文章分析)

可見已經(jīng)引用了libShared

代碼里也引用一下。重新構(gòu)建 

 可見沒有明顯變大

3.2 引用靜態(tài)鏈接庫

  轉(zhuǎn)到pro可見

 生成的配置信息其實是一樣,下面那幾行是可以刪掉的。

重新構(gòu)建:

 可見軟件是明顯變大了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    福利在线午夜绝顶三级| 久热在线视频这里只有精品| 熟女免费视频一区二区| 一区二区三区人妻在线| 日本深夜福利在线播放| 亚洲精品伦理熟女国产一区二区 | 91精品国产综合久久精品| 成年女人午夜在线视频| 亚洲香艳网久久五月婷婷| 精品欧美在线观看国产| 欧美区一区二区在线观看| 观看日韩精品在线视频| 亚洲中文字幕亲近伦片| 精品人妻一区二区三区免费看| 国产主播精品福利午夜二区| 国产一级精品色特级色国产| 久久少妇诱惑免费视频| 精品香蕉国产一区二区三区| 国语对白刺激高潮在线视频| 日韩精品一区二区亚洲| 欧美一区日韩一区日韩一区| 日本高清一道一二三区四五区| 99久久精品午夜一区二| 91精品国产av一区二区| 丰满的人妻一区二区三区| 欧美日韩综合在线精品| 日韩一区二区三区有码| 亚洲日本韩国一区二区三区| 九九热视频经典在线观看| a久久天堂国产毛片精品| 亚洲精品熟女国产多毛| 中文字幕久久精品亚洲乱码| 成人午夜视频精品一区| 久久精品亚洲情色欧美| 国产精品日本女优在线观看| 中文字幕区自拍偷拍区| 办公室丝袜高跟秘书国产| 91精品蜜臀一区二区三区| 亚洲欧美日韩中文字幕二欧美| 五月婷日韩中文字幕四虎| 国产精品一区二区高潮|