C++ DLL動態(tài)庫的創(chuàng)建與調(diào)用(類庫,隱式調(diào)用)
更新時間:2022年05月20日 09:57:12 作者:廷益--飛鳥
本文主要介紹了C++ DLL動態(tài)庫的創(chuàng)建與調(diào)用(類庫,隱式調(diào)用),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
1、創(chuàng)建庫工程


2、添加頭文件
ClassDll.h
// 宏定義 防止.h文件重復編譯
#ifndef _DLLCLASS_H
#define _DLLCLASS_H
// dll庫文件 定義 宏(DLLCLASS_EXPORTS) 使用 _declspec(dllexport)
// 使用dll庫文件時 _declspec(dllimport)(不定義宏就行)
#ifdef DLLCLASS_EXPORTS
#define EXT_CLASS _declspec(dllexport)
#else
#define EXT_CLASS _declspec(dllimport)
#endif
// 定義庫文件的 類(導出或?qū)耄?
class EXT_CLASS CMath
{
public:
// 定義函數(shù)
int Add(int item1, int item2);
int Sub(int item1, int item2);
};
#endif
3、添加cpp文件
ClassDll.cpp
// 定義 宏(DLLCLASS_EXPORTS) 頭文件類
// 使用 _declspec(dllexport) 導出
#define DLLCLASS_EXPORTS
#include "ClassDll.h"
// 實現(xiàn)類函數(shù)
int CMath::Add(int item1, int item2)
{
return item1 + item2;
}
int CMath::Sub(int item1, int item2)
{
return item1 - item2;
}
4、編譯dll工程
生成文件

5、創(chuàng)建調(diào)用工程
普通工程、多字節(jié)項目
6、調(diào)用工程 添加cpp文件
UseClassdll.cpp
#include <iostream>
using namespace std;
// 導入頭文件 庫類 使用 _declspec(dllimport) 導出類
#include "../ClassDll/ClassDll.h"
// 隱式調(diào)用dll 加載庫文件
#pragma comment(lib, "../Debug/ClassDll.lib")
// 運行時 dll文件與exe文件在一個文件夾中
int main() {
// 定義 dll庫中的類
CMath math;
// 調(diào)用函數(shù)
int sum = math.Add(5, 6);
int sub = math.Sub(5, 6);
// 打印結(jié)果
cout << "sum=" << sum << " sub=" << sub << endl;
system("pause");
return 0;
}


到此這篇關于C++ DLL動態(tài)庫的創(chuàng)建與調(diào)用(類庫,隱式調(diào)用)的文章就介紹到這了,更多相關C++ DLL動態(tài)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用C語言實現(xiàn)珠璣妙算Mastermind小游戲
這篇文章主要介紹了使用C語言實現(xiàn)珠璣妙算Mastermind小游戲,這是一款益智類多人游戲游戲,非常有趣,需要的朋友可以參考下2023-03-03
OpenCV提取圖像中圓線上的數(shù)據(jù)具體流程
在對圖像進行處理時,經(jīng)常會要提取出圖像中某條直線、圓線或者ROI區(qū)域內(nèi)的感興趣數(shù)據(jù),進行重點關注。本文主要介紹了利用OpenCV獲取圖像中圓線上的數(shù)據(jù),需要的可以參考一下2021-11-11

