程序员必知:VS2017动态链接库(.dll)的生成与使用

简介: 程序员必知:VS2017动态链接库(.dll)的生成与使用

这里以VS2017为例子,讲解一下动态链接库(.dll)的生成与使用。

一、动态链接库(.dll)的生成

1、打开:“文件”-“新建”-“项目”

2、打开:“已安装”-“模板”-“Visual C++”-“Win32”-“Win32 控制台应用程序”

把文件“名称”加上,为自己的工程名称;把“位置”加上,为自己的工程所在位置;

3、点击:“下一步”

4、选择“DLL”和“空项目”

然后点击“完成”

5、右击“panny_dll”项目,点击“添加”,点击“新建项”

6、点击“c++文件(.cpp)”,写上文件的“名称”为“panny_dll.cpp”

7、同样添加“panny_dll.h”

8、在“panny_dll.cpp”中添加程序如下

#include "panny_dll.h"

int panny(int i, int(call_back)(int a, int b))

{

int aa;

aa = ii;

call_back(i, aa);

return 0;

}

9、在头文件“panny_dll.h”中添加如下代码

#pragma once

__declspec(dllexport) int panny(int i, int(*call_back)(int a, int b));

10、点击“生成”-“重新生成解决方案”

11、如图,成功。

12、生成了.dll和.lib的文件

二、使用.dll文件

1、新建项目

2、如图,添加项目名称为“panny_dll_test”

3、点击“下一步”

4、选择“控制台应用程序”和“空项目”,然后点击“完成”

5、把“.dll”和“.lib”放到如图的文件夹里面

6、把“panny_dll.h”放到如图的文件夹里面

7、添加一个新建项“panny_dll_test.cpp”,方法参考“一”中的“5和6”

8、在panny_dll_test.cpp文件夹里面添加如下代码

#include

#include "panny_dll.h"

int panny_call_back(int a, int b)

{

int c;

c = a + b;

printf("输出:%d\n", c);

return 11;

}

void main()

{

int p = 10;

int panny1;

panny1 = panny(p, panny_call_back);

printf("输出2:%d\n", panny1);

}//代码效果参考:http://www.ezhiqi.com/bx/art_5577.html

9、添加头文件“panny_dll.h”

10、添加"panny_dll.lib"到资源文件

11、点击“重新生成解决方案”

12、成功

13、执行如下

常用软件开发学习资料目录(详见我爱分享资源论坛):

1.经典编程电子书收藏

2.CC++编程学习资料收藏

3.算法及数据结构(有关c,c++,java)

4.Java开发学习资料收藏

5.Android开发学习资料收藏

6.Python开发学习资料收藏

7.大数据,机器学习,人工智能资料收藏

8.Docker资料收藏

相关文章
|
C++ Windows
【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”
今天在VS2013发布应用程序后,本地电脑可以正常打开exe,但放到其他电脑无法正常启动,打印“应用无法正常启动(0xc000007b)。请单击“确定”关闭应用程序”。
1738 0
【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”
|
前端开发 程序员 Android开发
盘点那些好玩有趣的 VSCODE 插件
“工欲善其事,必先利其器!” vscode 作为前端开发的重要工具,其插件能大幅提升战斗力,精心收集12+插件,总有几款你还未曾拥有。
1922 0
|
22天前
|
Java Windows
UGNX2512简体中文安装激活教程(附UGNX2512安装包下载)方法
UG NX2512正式发布:界面焕新暗黑风格,右上角标识更名“DC”,标题栏改为紫黑色;操作流畅度媲美NX2506。安装需管理员运行Setup,选中文/完整模块,注意路径无中文;关键步骤包括复制ProgramData至C盘、导入许可证、覆盖补丁文件。新增后处理配置器、NX真-MTS工件检测等优化功能。(239字)
1101 5
|
编解码 数据安全/隐私保护 计算机视觉
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
如何使用OpenCV进行同步和异步操作来打开海康摄像头,并提供了相关的代码示例。
1171 1
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
|
机器学习/深度学习 人工智能 算法
程序员必知:VS2017动态链接库(.dll)的生成与使用
程序员必知:VS2017动态链接库(.dll)的生成与使用
394 3
|
编译器 C++
使用Visual Studio 2022 创建lib和dll并使用
本文介绍了如何在Visual Studio 2022中创建静态库(lib)和动态库(dll),并展示了如何使用这些库。文章详细说明了创建新项目、编写代码、生成库文件、配置项目属性以及编写测试代码的步骤,并提供了相应的截图和代码示例。作者还分享了在创建和使用库的过程中遇到的一些问题及其解决方案。
4661 0
使用Visual Studio 2022 创建lib和dll并使用
|
安全 编译器 API
程序与技术分享:C#调用DLL的几种方法
程序与技术分享:C#调用DLL的几种方法
1899 0
|
编译器 C++ Windows
QT5构建套件检测不到MSVC2017解决方法
QT5构建套件检测不到MSVC2017解决方法
3416 0
|
Android开发
Android Studio App开发实战项目之计算器的开发及演示(附源码和演示视频,超详细,可直接使用)
Android Studio App开发实战项目之计算器的开发及演示(附源码和演示视频,超详细,可直接使用)
1622 0

热门文章

最新文章