動(dòng)態(tài)鏈接庫(kù)DLL動(dòng)態(tài)鏈接庫(kù)
動(dòng)態(tài)鏈接庫(kù) , Dynamic Link Library或者Dynamic-link Library,DLL , 是一個(gè)模塊,其中包含其他模塊 (應(yīng)用程序或DLL) 可以使用的函數(shù)和數(shù)據(jù) 。
DLL可以定義兩種類型的函數(shù),導(dǎo)出函數(shù)和內(nèi)部函數(shù),導(dǎo)出函數(shù)旨在由其他模塊調(diào)用,以及定義它們的DLL內(nèi)部調(diào)用,內(nèi)部函數(shù)通常僅用于定義內(nèi)部的DLL調(diào)用,盡管DLL可以導(dǎo)出數(shù)據(jù),但其數(shù)據(jù)通常僅由其函數(shù)使用,但是 , 無(wú)法阻止另一個(gè)模塊讀取或?qū)懭朐摰刂?。
DLL提供了模塊化應(yīng)用程序的方法,以便可以更輕松地更新和重復(fù)使用其功能,當(dāng)多個(gè)應(yīng)用程序同時(shí)使用相同的功能時(shí),DLL也有助于降低內(nèi)存開銷 , 盡管每個(gè)應(yīng)用程序都收到自己的 DLL 數(shù)據(jù)副本,但應(yīng)用程序共享DLL代碼 。
Windows API
Windows API,應(yīng)用程序編程接口,是程序與處理器接口的命令集,實(shí)現(xiàn)為一組DLL,使用Windows API的任何進(jìn)程都使用動(dòng)態(tài)鏈接 。
Visual Studio 2022的創(chuàng)建與使用創(chuàng)建動(dòng)態(tài)鏈接庫(kù)項(xiàng)目
1、新建項(xiàng)目,動(dòng)態(tài)連接庫(kù)(DLL)項(xiàng)目

文章插圖
2、填寫項(xiàng)目名稱和解決方案名稱

文章插圖
3、添加頭文件pch.h和源文件pch.cpp

文章插圖
pch.h
#ifndef PCH_H#define PCH_H// 添加要在此處預(yù)編譯的標(biāo)頭#include "framework.h"#endif //PCH_H//ifdef , 如果IMPORT_DLL已經(jīng)定義過(guò)了,則執(zhí)行else前面的,如果未定義,則執(zhí)行else后面的#ifdef IMPORT_DLL#else//允許將其給外部調(diào)用#define IMPORT_DLL extern "C" _declspec(dllimport)#endif IMPORT_DLL int max_number(int a, int b);IMPORT_DLL int min_number(int a, int b);pch.cpp// pch.cpp: 與預(yù)編譯標(biāo)頭對(duì)應(yīng)的源文件#include "pch.h"http:// 當(dāng)使用預(yù)編譯的頭時(shí),需要使用此源文件,編譯才能成功 。int max_number(int a, int b){ if (a >= b) {return a; } return b;}int min_number(int a, int b){ if (a < b) {return a; } return b;}4、選中項(xiàng)目,右鍵 , 生成,生成文件Dll1.dll
文章插圖
動(dòng)態(tài)鏈接庫(kù)的使用
1、添加空項(xiàng)目

文章插圖
2、填寫項(xiàng)目名稱

文章插圖
3、添加源文件Main.cpp
#include <iostream>#include <windows.h>using namespace std;int main() { //調(diào)用DLL HINSTANCE hDllInst = LoadLibrary(L"Dll1.dll"); //后邊為參數(shù),前面為返回值 typedef int(*PLUSFUNC)(int a, int b); PLUSFUNC max_number = (PLUSFUNC)GetProcAddress(hDllInst, "max_number"); PLUSFUNC min_number = (PLUSFUNC)GetProcAddress(hDllInst, "min_number"); cout << "最大值為:" << max_number(3333, 44444) << endl; cout << "最小值為:" << min_number(3333, 44444) << endl; system("pause"); return 0;}【一鍵查看dll函數(shù)接口 dll動(dòng)態(tài)鏈接庫(kù)怎么用】4、設(shè)置為啟動(dòng)項(xiàng)目,運(yùn)行以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- WIN7系統(tǒng)如何查看隱藏的文件和文件夾
- DOS命令行中如何查看輸入命令的歷史記錄
- 如何查看電腦型號(hào)
- 新Unity軟件中如何高效查看和管理收藏夾SEO技巧
- 如何查看釘釘在線課堂數(shù)據(jù)
- 如何查看和管理電腦中已安裝的軟件
- 如何卸載一鍵還原精靈,釋放更多磁盤空間
- 度劃算查看物流服務(wù) 度劃算怎么查看物流
- 如何利用今日頭條查看文章的閱讀量和收入情況
- 如何查看電腦開關(guān)機(jī)時(shí)間
