VS2015环境下生成和调用DLL动态链接库

Posted Foch155

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2015环境下生成和调用DLL动态链接库相关的知识,希望对你有一定的参考价值。

一、生成动态链接库:


1、打开VS2015->文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_generate->确定


2、出现Win32应用程序向导->下一步->在“应用程序类型”中选择“DLL”->在“附加选项”中选择“空项目”->完成

技术分享

3、视图->解决方案管理器->右键“头文件”->添加->新建项->选择“头文件”->命名为dll_generate->添加


4、点击进入dll_generate头文件,输入代码:

#pragma once  
//该宏完成在dll项目内部使用__declspec(dllexport)导出    
//在dll项目外部使用时,用__declspec(dllimport)导入    
//宏DLL_IMPLEMENT在dll_generate.cpp中定义    
#ifdef DLL_IMPLEMENT    
#define DLL_API __declspec(dllexport)    
#else    
#define DLL_API __declspec(dllimport)    
#endif  
  
namespace scsc  
{  
    double DLL_API Mul(double a, double b);  
}  

  


5、视图->解决方案管理器->右键“源文件”->添加->新建项->选择“C++文件(.cpp)”->命名为dll_generate->添加

 


6、点击进入dll_generate源文件,输入代码:

//------------------ dll_generate.cpp ----------------    
//注意此处的宏定义需要写在#include "dll_generate.h"之前    
//以完成在dll项目内部使用__declspec(dllexport)导出    
//在dll项目外部使用时,用__declspec(dllimport)导入    
#define DLL_IMPLEMENT  
#include"dll_generate.h"  
#include <iostream>  
  
using namespace std;  
  
namespace scsc   
{  
    double Mul(double a, double b)  
    {  
        double c = a*b;  
        return c;  
    }  
}  

  

 

7、点击生成->生成解决方案->由此可以在“工程文件路径\dll_generate\Debug”中得到dll_generate.dll和dll_generate.lib文件,在“工程文件路径\dll_generate\dll_generate”中得到dll_generate.h文件


二、调用动态链接库:


1、文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_test->确定


2、出现Win32应用程序向导->下一步->在“应用程序类型”中选择“控制台应用程序”->在“附加选项”中选择“空项目”->完成


3、视图->解决方案管理器->右键“源文件”->添加->新建项->选择“C++文件(.cpp)”->命名为main->添加


4、将前面得到的dll_generate.h和dll_generate.lib复制到工程文件路径\dll_test\dll_test中,将dll_generate.dll复制到工程文件路径\dll_test\Debug中


5、视图->解决方案管理器->右键“头文件”->添加->现有项->选择dll_generate.h->添加


6、在main.cpp中输入代码:

//------------------ main.cpp -------------------    
#include "dll_generate.h"  
  
#pragma comment(lib, "dll_generate.lib")  
#include <iostream>  
using namespace scsc;  
using namespace std;  
  
void main()  
{  
    double a = Mul(3, 2);  
    cout << a << endl;  
    system("pause");  
}  

  

7、运行程序,即可看到已成功生成和调用DLL

 

技术分享

















以上是关于VS2015环境下生成和调用DLL动态链接库的主要内容,如果未能解决你的问题,请参考以下文章

MyElipse6.5环境下java调用vs2010动态链接库DLL人脸检测

VS2017+QT生成动态库(DLL)并完成调用

VS2017+QT生成动态库(DLL)并完成调用

VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)

VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)

QT 调用VS2015编写的Dll