使用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