VisualStudio2019 DLL生成并使用教程(C++)最详细Demo教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VisualStudio2019 DLL生成并使用教程(C++)最详细Demo教程相关的知识,希望对你有一定的参考价值。


1.创建dll项目

打开VisualStudio2019 创建DLL

VisualStudio2019

点击下一步

命名为DemoDll即可

VisualStudio2019

点击创建即可

然后定义宏:

在头文件中定义即可,宏的作用的是允许该函数能够被外部访问,并直接调用。

如下:

VisualStudio2019

代码:

// pch.h: 这是预编译标头文件。
// 下方列出的文件仅编译一次,提高了将来生成的生成性能。
// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。

#ifndef PCH_H
#define PCH_H

// 添加要在此处预编译的标头
#include "framework.h"

#endif //PCH_H

//定义宏
#ifdef IMPORT_DLL
#else
#define IMPORT_DLL extern "C" _declspec(dllimport) //指的是允许将其给外部调用
#endif

IMPORT_DLL int add(int a, int b);
IMPORT_DLL int minus(int a, int b);
IMPORT_DLL int multiply(int a, int b);
IMPORT_DLL double divide(int a, int b);

然后在cpp文件 实现这些即可

int add(int a, int b)

return a + b;


int minus(int a, int b)

return a - b;


int multiply(int a, int b)

return a * b;


double divide(int a, int b)

double m = (double)a / b;
return m;

接下来是点击生成  会在debug目录下生成dll文件(这就是我们所需要的)

然后新建一个控制台程序,用于测试是否成功调用dll

引入windows.h(必须)

在main函数写下列语句调用dll

HINSTANCE hDllInst;
hDllInst = LoadLibrary(L"DemoDll.dll"); //调用DLL
typedef int(*PLUSFUNC)(int a, int b); //后边为参数,前面为返回值
PLUSFUNC plus_str = (PLUSFUNC)GetProcAddress(hDllInst, "add"); //GetProcAddress为获取该函数的地址
std::cout << plus_str(1, 2);

注意:需要把之前生成的dll文件,复制到控制台程序的debug目录下!

VisualStudio2019

点击执行,结果为3,说明成功调用了里面的函数

 


盗版必究哈哈哈

 

 

以上是关于VisualStudio2019 DLL生成并使用教程(C++)最详细Demo教程的主要内容,如果未能解决你的问题,请参考以下文章

c#如何将一个类库打包成两个dll

在 Visual Studio 2017 中使用 Cmake 构建 ssh.dll

Unity与 DLL文件 ☀️| 怎样使用 C# 类库 生成一个DLL文件 并 调用!

如何解决 Visual Studio 2019 中的这个 dll 缺失问题?

在 Visual Studio 2010 Express 中从 dll 自动生成 C# 包装类?

从 .resx 为 .NET Core 3.1 应用程序生成资源 dll