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

C++使用QTcreator創(chuàng)建動態(tài)庫流程

 更新時間:2024年06月12日 11:00:17   作者:嵌入式大白菜  
在工程中,經(jīng)常會根據(jù)不同的場景需求將類封裝成庫文件,本文主要介紹了C++使用QTcreator創(chuàng)建動態(tài)庫流程,具有一定的參考價值,感興趣的可以了解一下

前言

這篇文章主要記錄使用QTcreator創(chuàng)建C++動態(tài)庫的流程,僅供參考。

環(huán)境:linux deepin20 + Qt 5.8.0

一、什么是動態(tài)庫?有何作用?

接下來簡單介紹一下動態(tài)庫及其作用:動態(tài)庫是一種在程序運(yùn)行時才被加載到內(nèi)存中的共享庫。

動態(tài)庫,也稱為動態(tài)鏈接庫(DLL,Dynamic Link Library),是一種可以在程序運(yùn)行時動態(tài)加載的代碼和數(shù)據(jù)文件。與靜態(tài)庫不同,動態(tài)庫并不在程序編譯鏈接時將代碼“拷貝”到可執(zhí)行文件中,而是在程序運(yùn)行時根據(jù)需要加載相應(yīng)的代碼和數(shù)據(jù)。這樣做的好處是:

節(jié)省內(nèi)存:多個程序可以共享同一份動態(tài)庫的代碼和數(shù)據(jù),減少了內(nèi)存的占用。
便于更新:當(dāng)動態(tài)庫更新時,只需要替換庫文件,而不需要重新編譯依賴該庫的所有程序。
減少部署成本:程序發(fā)布時,只需攜帶必要的動態(tài)庫文件,而不是整個程序的所有依賴,這樣可以減小安裝包的大小。
提高程序啟動速度:因為動態(tài)庫是在程序運(yùn)行時才加載的,所以可以加快程序的啟動速度。
支持模塊化設(shè)計:動態(tài)庫的使用使得程序可以更加模塊化,各個功能可以獨(dú)立更新和維護(hù)。
總的來說,動態(tài)庫是現(xiàn)代軟件開發(fā)中常用的一種技術(shù),它使得程序的開發(fā)、維護(hù)和部署都變得更加靈活和高效。在Windows操作系統(tǒng)中,動態(tài)庫通常以.dll為擴(kuò)展名;在Linux和macOS系統(tǒng)中,則以.so(共享對象)或.dylib為擴(kuò)展名。

二、使用QtCreator創(chuàng)建步驟

1.創(chuàng)建庫

新建Qt工程時選擇C++庫,后續(xù)選項根據(jù)需求進(jìn)行選擇

在這里插入圖片描述

創(chuàng)建成功會得到這樣一個目錄結(jié)構(gòu)

這里我們只需要mylib.c 和mylib.h,其余無關(guān)的mylib_global.h可以刪除

在這里插入圖片描述

刪除頭文件同時許刪除該文件在其他文件中的引用

頭文件中定義的空類,不會用到,所以一并刪除

在這里插入圖片描述

2.添加需要加入動態(tài)庫的函數(shù)

這里我定義了一個簡單的fuc()

在這里插入圖片描述

在這里插入圖片描述

3.構(gòu)建動態(tài)庫

這里需要點擊 構(gòu)建 ,不要構(gòu)建并運(yùn)行,因為沒有main函數(shù)

在這里插入圖片描述

4.生成動態(tài)庫文件

構(gòu)建成功后會在,活動目錄下生成如下三個軟連接和個動態(tài)庫本體

在這里插入圖片描述

5.創(chuàng)建項目進(jìn)行測試

這里我創(chuàng)建了一個QTapplication項目,在里面進(jìn)行測試

項目創(chuàng)建就是簡單的QT項目創(chuàng)建方式,這里我的項目名為 test

5.1在工程目錄下創(chuàng)建如下兩個文件夾,用于存放頭文件和動態(tài)庫

在這里插入圖片描述

5.2將創(chuàng)建好的動態(tài)庫中的 mylib.h拷貝到 include文件夾中,將.so文件拷貝到lib文件夾中

在這里插入圖片描述

在這里插入圖片描述

5.3包含頭文件和動態(tài)庫路徑,并調(diào)用庫進(jìn)行測試

在工程文件 test.pro 中添加如下兩行

//頭文件路徑包含
INCCLUDEPATH += 頭文件路徑
//包含庫
LIBS += -L 庫文件目錄 -l動態(tài)庫名

在這里插入圖片描述

進(jìn)行調(diào)用并測試

在這里插入圖片描述

顯示輸出結(jié)果成功,證明通過動態(tài)庫調(diào)用func()成功,動態(tài)庫創(chuàng)建成功。

總結(jié)

到此這篇關(guān)于C++使用QTcreator創(chuàng)建動態(tài)庫流程的文章就介紹到這了,更多相關(guān) QTcreator創(chuàng)建動態(tài)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)算法兩個數(shù)字相加詳解

    C++實現(xiàn)算法兩個數(shù)字相加詳解

    這篇文章主要介紹了C++實現(xiàn)算法兩個數(shù)字相加詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言職工管理系統(tǒng)設(shè)計

    C語言職工管理系統(tǒng)設(shè)計

    這篇文章主要為大家分享了一份C語言職工管理系統(tǒng)設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • C++實現(xiàn)LeetCode(201.數(shù)字范圍位相與)

    C++實現(xiàn)LeetCode(201.數(shù)字范圍位相與)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(201.數(shù)字范圍位相與),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • win10中的dlib庫安裝過程

    win10中的dlib庫安裝過程

    這篇文章主要介紹了win10中dlib庫的安裝過程,本文通過實例圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C++實現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果的示例代碼

    C++實現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C++如何實現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2023-01-01
  • 基于C++內(nèi)存分配、函數(shù)調(diào)用與返回值的深入分析

    基于C++內(nèi)存分配、函數(shù)調(diào)用與返回值的深入分析

    本篇文章是對C++中的內(nèi)存分配、函數(shù)調(diào)用與返回值進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現(xiàn)統(tǒng)計一行字符串的單詞個數(shù)

    C語言實現(xiàn)統(tǒng)計一行字符串的單詞個數(shù)

    這篇文章主要介紹了C語言實現(xiàn)統(tǒng)計一行字符串的單詞個數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 利用C++實現(xiàn)簡易的狼人殺游戲

    利用C++實現(xiàn)簡易的狼人殺游戲

    狼人殺游戲是一款非常有趣的角色扮演游戲,它需要玩家之間互相猜測身份并進(jìn)行投票,通過推理來找出真正的狼人。本文將用C++實現(xiàn)這一游戲,感興趣的可以了解一下
    2023-04-04
  • C語言實現(xiàn)BMP轉(zhuǎn)換JPG的方法

    C語言實現(xiàn)BMP轉(zhuǎn)換JPG的方法

    這篇文章主要介紹了C語言實現(xiàn)BMP轉(zhuǎn)換JPG的方法,涉及C#圖片格式轉(zhuǎn)換的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C++實現(xiàn)通訊錄小功能

    C++實現(xiàn)通訊錄小功能

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)通訊錄小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論