当前位置: 首页 > 编程笔记 >

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

姚胡媚
2023-03-14
本文向大家介绍Visual Studio 2019 DLL动态库连接实例(图文教程),包括了Visual Studio 2019 DLL动态库连接实例(图文教程)的使用技巧和注意事项,需要的朋友参考一下

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

建立动态库

1.建立一个动态库项目

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

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

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

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

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

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

int Add(int a, int b)
{
  return a + b;
}

int Sub(int a, int b)
{
  return a - b;
}

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

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

1.新建一个控制台应用

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

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

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

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

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

#include "pch.h"

#pragma comment (lib,"mydll_03.lib")
extern "C" _declspec(dllimport) int Add(int a, int b);
extern "C" _declspec(dllimport) int Sub(int a, int b);

7.直接使用DLL中的函数

8.编译及结果

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

 类似资料:
  • 本文向大家介绍MyEclipse连接MySQL数据库图文教程,包括了MyEclipse连接MySQL数据库图文教程的使用技巧和注意事项,需要的朋友参考一下 自己在自学JavaEE课程时,在做一些小东西的时候,需要连接MySQL数据库,自己看了看书,然后自己摸索,一步步成功,学习也是一个分享的过程,图文结合,希望帮助到更多的人。 一、配置Database Explorer1. 打开MyEclipse

  • 问题内容: 我正在Laravel 5(.1)中创建一个应用程序,在该应用程序中需要连接到不同的数据库。唯一的问题是,它不知道必须连接到哪个数据库,因此无法在config中使用database.php。控制器负责使用动态给定的连接详细信息进行连接。 如何建立与数据库的新连接,包括使用DB类?(或者这可能) 提前致谢! 问题答案: 最简单的解决方案是在运行时设置数据库配置。Laravel可能希望从文件

  • 在一些情况下,必须使用动态连接库: 1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。 2.在钩子程序过滤系统消息时必须使用动态连接库 3.设备驱动程序必须是动态连接库 4.如果要在对话框编辑器中使用自己定义的控件,也必须使用动态连接库 5.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与

  • 问题设置基于Web服务(Spring/Java、Tomcat7和MySql),其中每个用户都有自己的数据库,因此每个请求都需要自己的连接。由于所有数据库都是在运行时动态创建的,因此在启动之前静态配置它们不是一个选项。 为了优化数据库连接使用,数据库连接池的实现将是非常好的,对吗? 使用Java/Spring:如何为动态数据库创建连接池?我有点惊讶于这里缺少干净的选择 问题:Tomcat的连接池(以

  • 本文向大家介绍iOS制作framework静态库图文教程,包括了iOS制作framework静态库图文教程的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了iOS制作framework静态库教程 ,供大家参考,具体内容如下 环境: 硬件:macbook air 系统:OSX EI Capitan 版本:10.11.3 xcode :Version 7.2.1 (7C1002) 最近在做

  • 本文向大家介绍Linux静态库与动态库实例详解,包括了Linux静态库与动态库实例详解的使用技巧和注意事项,需要的朋友参考一下 Linux静态库与动态库实例详解 1. Linux 下静态链接库编译与使用 首先编写如下代码: 然后编译: 1. gcc -c test.c //生成目标文件 2. ar crv libtest.a test.o //生成静态链接库libtest.a 3. g++ -o