使用vs2019編寫dll並調用


1.創建DLL

新建頭文件(DLL1.h)聲明dll包含的函數SayHello()
#pragma once
#include <iostream>
 
extern "C" __declspec(dllexport) void SayHello();

編輯后如圖

新建類(DLL1.cpp),編寫函數
#include "pch.h"
#include "DLL1.h"
#include <string>
using namespace std;
void SayHello()
{
    std::cout << "Hello!你成功了!" << std::endl;
}

文件位置

生成解決方案
dll路徑為 E:\code\injectDLL\Dll1\Debug\Dll1.dll

2.創建C++工程並配置

創建C++工程TestDLL來調用dll
添加源文件TestDLL.cpp
將上一步生成的Dll1.dll和Dll1.lib復制到TestDLL.cpp的同目錄下,才能調用
同時因為復制來的lib用到了頭文件DLL1.h所以也要一並復制過來
頭文件還要再導入現在的工程才會被 引用,右鍵頭文件- “添加”–>“現有項”
導入完成
3.編寫調用代碼
首先修改“Dll1.h”頭文件中的代碼:
#pragma once
#include <iostream>
 
extern "C" __declspec(dllexport) void SayHello();
改為
#pragma once
#pragma comment(lib,"Dll1.lib")
#include <iostream>
 
extern "C" __declspec(dllimport) void SayHello();

 

#pragma comment(lib,"Dll1.lib")表明引用Dll1.lib
dllexport用來聲明導出函數,導出一個dll給別人用
dllimport聲明一個導入函數,將別人dll導入來自己用
 
編輯TestDLL.cpp代碼調用DLL
#include "DLL1.h"
int main()
{
       SayHello();
}

 

編譯測試
調用成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM