服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - Visual Studio 2019 DLL动态库连接实例(图文教程)

Visual Studio 2019 DLL动态库连接实例(图文教程)

2021-08-23 15:31TonyWangAlfa C/C++

这篇文章主要介绍了Visual Studio 2019 DLL动态库连接实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

由于第一次使用Visual Studio 2019建立动态链接库,也是给自己留个操作笔记。如有雷同,纯属巧合!

建立动态库

1.建立一个动态库项目

Visual Studio 2019 DLL动态库连接实例(图文教程)

建立名称为mydll的动态链接库项目

Visual Studio 2019 DLL动态库连接实例(图文教程)

项目建立完成后出现下面的项目结构

Visual Studio 2019 DLL动态库连接实例(图文教程)

其中pch.h声明用的头文件,具体函数代码在pch.cpp文件中。dllmain.cpp和framework.h文件分别为动态链接库的入口和默认加载头文件,可以不用管。直接使用自动生成的代码即可。

2.首先是在pch.h的头文件中声明要加入的函数

  1. extern "C" _declspec(dllexport) int Add(int a, int b);
  2. extern "C" _declspec(dllexport) int Sub(int a, int b);

Visual Studio 2019 DLL动态库连接实例(图文教程)

3.在pch.cpp中加入函数代码

  1. int Add(int a, int b)
  2. {
  3. return a + b;
  4. }
  5.  
  6. int Sub(int a, int b)
  7. {
  8. return a - b;
  9. }

Visual Studio 2019 DLL动态库连接实例(图文教程)

4.编译动态链接库项目,会提示[无法启动程序],在输出框有下面的结果

Visual Studio 2019 DLL动态库连接实例(图文教程)

建立运行动态库的控制台程序

1.新建一个控制台应用

Visual Studio 2019 DLL动态库连接实例(图文教程)

Visual Studio 2019 DLL动态库连接实例(图文教程)

2.添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

Visual Studio 2019 DLL动态库连接实例(图文教程)

3.添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。

Visual Studio 2019 DLL动态库连接实例(图文教程)

4.添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

Visual Studio 2019 DLL动态库连接实例(图文教程)

5.把生成的dll放到工程的可执行EXE文件所在的目录下

6.在主函数中增加DLL头文件的引用及对应的调用代码

  1. #include "pch.h"
  2.  
  3. #pragma comment (lib,"mydll_03.lib")
  4. extern "C" _declspec(dllimport) int Add(int a, int b);
  5. extern "C" _declspec(dllimport) int Sub(int a, int b);

7.直接使用DLL中的函数

Visual Studio 2019 DLL动态库连接实例(图文教程)

8.编译及结果

Visual Studio 2019 DLL动态库连接实例(图文教程)

到此这篇关于Visual Studio 2019 DLL动态库连接实例(图文教程)的文章就介绍到这了,更多相关Visual Studio 2019 DLL动态库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/TonyWangAlfa/article/details/100579412

延伸 · 阅读

精彩推荐