使用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();
}

 

编译测试
调用成功
posted @ 2021-05-18 17:41  一瓶怡宝  阅读(1755)  评论(0编辑  收藏  举报