在vs2017 IDE进行动态链接库的制作和使用
Posted madfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vs2017 IDE进行动态链接库的制作和使用相关的知识,希望对你有一定的参考价值。
一、制作dll动态库
(1)创建动态库工程Dll-1,如图所示
(2)新建Dll-1.h头文件
// Dll-1.h #ifdef Dll_1_API #else #define Dll_1_API _declspec(dllimport) #endif // Dll_1_API Dll_1_API int add(int a, int b); Dll_1_API int subtract(int a, int b);
其中,_declspec(dllimport)是为了声明add函数和substract函数从dll动态库导出,还可以用_declspec(dllimport)来声明类或者类的成员函数从dll动态库导出。
(3)新建Dll-1.cpp实现函数的功能
// Dll-1.cpp : 定义 DLL 应用程序的导出函数。 // #include "stdafx.h" #define Dll_1_API _declspec(dllexport) #include "Dll-1.h" int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; }
(4)右键项目,点击生成解决方案,同时会生成lib和dll文件。
二、新建调用动态库的测试项目Dll-1-test
(1)在项目中加入动态库的头文件
// Dll-1.h #ifdef Dll_1_API #else #define Dll_1_API _declspec(dllimport) #endif // Dll_1_API Dll_1_API int add(int a, int b); Dll_1_API int subtract(int a, int b);
(2)在源文件中调用dll动态库的方法
#include <stdlib.h> #include <iostream> #include "Dll-1.h" using namespace std; int main() { int x = 3; int y = 6; int m = add(x, y); int n = subtract(x, y); cout << "m: " << m << endl; cout << "n: " << n << endl; system("pause"); return 0; }
(3)进行项目属性配置
在测试项目工程中配置lib文件的引入路径,同时将lib文件,dll文件复制到测试项目中。点击链接生成解决方案。
(4)运行测试项目
结果如下
以上是关于在vs2017 IDE进行动态链接库的制作和使用的主要内容,如果未能解决你的问题,请参考以下文章