本文主要是介绍在VS2015中创建C++动态链接dll,和两种调用动态链接dll的两种方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、创建动态链接库DLL项目
1 文件->项目->Visual C++->Win32->Win32 控制台应用程序
创建名为MyDll的项目,如下图所:
2 在应用程序设置中设置应用程序类型为DLL,如下图所示:
3.在头文件中添加MyDll.h文件
代码:
#pragma once
#ifdef MATHFUNCSDLL_EXPORTS
#define MATHFUNCSDLL_API __declspec(dllexport)
#else
#define MATHFUNCSDLL_API __declspec(dllimport)
#endifnamespace DLL {class Myth {public:static MATHFUNCSDLL_API double add(double a, double b);};
}
4.在MyDll.cpp文件中给函数定义:
代码:
#include "stdafx.h"
#include<iostream>
#include "MyDll.h"namespace DLL {double Myth::add(double a, double b) {return a + b;}
}
5.点击生成->生成解决方案,会生成MyDll.dll和MyDll.lib文件
二、调用动态库DLL
2.1 在DLL工程中新建解决方案
1)在DLL所在的工程 文件->新建->项目->Visual C++->Win32 控制台应用程序
2)在解决方案处点击添加到解决方案
3)将新建的解决方案设置为启动项目
4)右键项目(我的是test1)下的引用->添加引用->将MyDll 打勾
5)项目(我的是test1)->属性
6)点击c/c++,将MyDll.h所在的目录路径添加到附加包含目录
7)测试程序,将添加头文件MyDll.h
#include "stdafx.h"
#include<iostream>
#include"MyDll.h"int main()
{std::cout << DLL::Myth::add(1, 2) << std::endl;system("pause");return 0;
}
8)执行程序
2.2 类似于调用第三方库那样调用dll文件
1)为了方便现将刚才创建的MyDll.dll,MyDll.lib,MyDll.h文件放到一个文件中,放在lib1中,MyDll.dll在debug中,debug和release的dll和lib不能混用,一定要注意区分,MyDll.lib存放在lib中,MyDll.h存放在include中
2)新建win32控制应用程序工程test1
3)test1->属性 到达属性页->调试,将MyDll.dll所在的目录路径添加到 环境 中
4)将MyDll.lib的目录路径添加到VC++目录中的库目录中
5)将MyDll.h所在目录的路径添加到C/C++中的附加包含目录中
6)链接器->输入->附加依赖项 添加MyDll.lib
7)将MyDll.h添加到测试程序中
注意:debug生成的dll lib只能用在debug中 release生成的dll lib只能用在release中
这篇关于在VS2015中创建C++动态链接dll,和两种调用动态链接dll的两种方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!