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(); }
編譯測試

調用成功