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(); }
编译测试

调用成功