91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++如何封裝成DLL并調用

發布時間:2023-03-11 15:54:46 來源:億速云 閱讀:159 作者:iii 欄目:開發技術

這篇文章主要介紹“C++如何封裝成DLL并調用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“C++如何封裝成DLL并調用”文章能幫助大家解決問題。

第一步:編寫.cpp和.h文件

本例工程名稱為RunLIB

.cpp如下:

#include "pch.h"
#include<iostream>
class FHello :public IInterface
{
public:
	FHello();
	virtual void Init();
	virtual void Destroy();
	virtual char* GetName();

private:
	char name[1024];

};

FHello::FHello()
{
	memset(name, 0, 1024);
	strcpy(name, "hello");
}

void FHello::Init()
{
	printf("FHello::Init\n");
}

void FHello::Destroy()
{
	printf("FHello::Destroy\n");
}

char* FHello::GetName()
{
	return name;
}

IInterface* IInterface::CreateInterface()
{
	return new FHello();
}

.h如下:

#ifndef PCH_H
#define PCH_H
#define _CRT_SECURE_NO_WARNINGS

#define FENGZHUANGCPP_API __declspec(dllexport) //導出

//動態鏈接庫
class FENGZHUANGCPP_API IInterface
{
public:
	static IInterface* CreateInterface();
	virtual void Init() = 0;
	virtual void Destroy() = 0;
	virtual char *GetName() = 0;
};

#endif //PCH_H

第二步:生成動態鏈接庫.dll和靜態鏈接庫.lib

①右鍵解決方案資源管理器的工程名稱>>屬性>>屬性配置>>常規>>配置類型,將配置類型選為動態庫(.dll),點擊確定

C++如何封裝成DLL并調用

②右鍵解決方案資源管理器的工程名稱,選擇生成
③右鍵解決方案資源管理器的工程名稱>>屬性>>屬性配置>>常規>>配置類型,將配置類型選為靜態庫(.lib),點擊確定

C++如何封裝成DLL并調用

④右鍵解決方案資源管理器的工程名稱,選擇生成
此時,會在工程路徑下的x64\Debug文件夾中看到你所生成的.dll和.lib文件(比如我的在:E:\C++\RunLIB\x64\Debug路徑中)

C++如何封裝成DLL并調用

到這里,我們已經完成了封裝的過程,那么我們應該如何調用我們的接口呢?

第三步:調用通過.h文件調用;

①將生成的.dll和.lib,以及pch.cpp放在一個名為dllib的文件夾中(為了后面調用)
②使用vs新建一個名為diaoyong的工程(同時會自動生成一個diaoyong.cpp),將①的文件夾復制到工程目錄下

C++如何封裝成DLL并調用

③在diaoyong.cpp輸入調用的代碼

#include "dlllib/pch.h"
#include <iostream>
using namespace std;
#pragma comment(lib,"dLLL.lib")
//動態庫在運行時,會把代碼鏈接到目標
//靜態庫在編譯期,會把代碼鏈接到目標

int main()
{
    IInterface* IF = IInterface::CreateInterface();
    cout << IF->GetName() << endl;
    IF->Init();
    IF->Destroy();
    return 0;
}

此時,運行會出現如下報錯,是因為我們沒有把包含.lib的文件夾路徑加載進來,我們需要執行的操作:
1)右鍵解決方案資源管理器的工程名稱>>屬性>>配置屬性>>C/C++>>附加包含目錄>>編輯>>.lib文件的路徑放進去
2)右鍵解決方案資源管理器的工程名稱>>屬性>>項目屬性>>配置屬性>>鏈接器>>附加庫目錄>>編輯>>.lib文件的路徑放進去

C++如何封裝成DLL并調用

C++如何封裝成DLL并調用

C++如何封裝成DLL并調用

加載完成后,在運行我們編寫的diaoyong.cpp,就成功啦!!!!

C++如何封裝成DLL并調用

關于“C++如何封裝成DLL并調用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

眉山市| 阳信县| 夹江县| 开原市| 巴楚县| 吉首市| 泾源县| 湘乡市| 乌苏市| 固安县| 黄陵县| 都兰县| 武邑县| 宣恩县| 新竹市| 黎城县| 和顺县| 乌鲁木齐市| 义乌市| 锡林郭勒盟| 安岳县| 禹州市| 唐海县| 台江县| 临朐县| 沂源县| 霍邱县| 玉树县| 灌南县| 靖州| 沂南县| 南通市| 岐山县| 菏泽市| 永昌县| 桃江县| 克拉玛依市| 江门市| 哈巴河县| 儋州市| 习水县|