详解VS2010实现创建并生成动态链接库dll的方法

 更新时间:2022年12月21日 08:28:49   作者:欧特克_Glodon  
在某些应用程序场景下,需要将一些类或者方法编译成动态链接库dll,以便别的.exe或者.dll文件可以通过第三方库的方式进行调用,下面就简单介绍一下如何通过VS2010来创建动态链接库

1、目的

在某些应用程序场景下,需要将一些类或者方法编译成动态链接库dll,以便别的.exe或者.dll文件可以通过第三方库的方式进行调用,下面就简单介绍一下如何通过VS2010来创建动态链接库。

2、新建动态链接库

1) 打开VS2010,选择Visual C++,新建win32控制台应用程序

2) 选择应用程序类型为DLL,点击完成生成项目数据。

3、添加导出类,并修改项目配置

1) 添加MyFunction类,并设定为导出类

MyFunction.h

#pragma once

#ifndef MYTESTDLL_EXPORTS
#ifndef _DEBUG
#pragma comment (lib, "MyTestDll.lib")
#pragma message("     自动链接到 MyTestDll.lib.")
#else
#pragma comment (lib, "MyTestDlld.lib")
#pragma message("     自动链接到 MyTestDlld.lib.")
#endif
#endif

#ifdef MYTESTDLL_EXPORTS
#define MYTESTAPI __declspec(dllexport)
#else
#define MYTESTAPI __declspec(dllimport)
#endif

class MYTESTAPI CMyFunction
{
public:
	CMyFunction();
	~CMyFunction();

	// 加法
	int add(int nA, int nB);

	// 减法
	int minus(int nA, int nB);
};

MyFunction.cpp

#include "StdAfx.h"
#include "MyFunction.h"

CMyFunction::CMyFunction()
{
}

CMyFunction::~CMyFunction()
{

}

int CMyFunction::add(int nA, int nB)
{
	return nA + nB;
}

int CMyFunction::minus(int nA, int nB)
{
	return nA - nB;
}

4、修改项目配置

1) 修改dll文件生成位置

在输出目录将dll生成位置进行修改,以便寻找;同时为了方便区分Debug模式和Release模式,可将debug生成文件加上后缀-d。

2)修改lib文件生成位置

在 链接器-高级里面将lib的生成位置进行修改;同理,可将debug生成文件加上后缀-d。

3) 添加导出的预处理宏定义。

5、编译生成

编译后生产文件如下:

6、测试项目

用VS2010新建控制台程序exe,然后引入上面的动态链接库,进行使用测试。程序运行如下:

项目属性修改如图:

以上就是详解VS2010实现创建并生成动态链接库dll的方法的详细内容,更多关于VS创建生成动态链接库dll的资料请关注脚本之家其它相关文章!

相关文章

  • C++中getline()和get()的方法浅析

    C++中getline()和get()的方法浅析

    大家都知道作为C++获取输入流的方法,几乎在任何一本资料书上getline()方法和get()方法都作为入门级的方法进行讲述,即便如此,笔者在学习C++的过程中仍经常忘记这二者的使用要点,可能也有C++的初学者对这两个方法还心存疑虑,本篇文章就这两个方法的使用进行简要阐述。
    2016-10-10
  • C语言数据结构 双向链表的建立与基本操作

    C语言数据结构 双向链表的建立与基本操作

    这篇文章主要介绍了C语言数据结构 双向链表的建立与基本操作的相关资料,需要的朋友可以参考下
    2017-03-03
  • 基于OpenCV读取摄像头实现单个人脸验证MFC程序

    基于OpenCV读取摄像头实现单个人脸验证MFC程序

    这篇文章主要为大家详细介绍了基于OpenCV读取摄像头实现单个人脸验证MFC程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • C++大数模板(推荐)

    C++大数模板(推荐)

    本篇文章是对C++大数模板的程序代码进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++调用python(执行py文件)的全过程

    C++调用python(执行py文件)的全过程

    这篇文章主要给大家介绍了关于C++调用python(执行py文件)的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-12-12
  • C++利用伴随阵法实现矩阵求逆

    C++利用伴随阵法实现矩阵求逆

    这篇文章主要为大家详细介绍了C++如何利用伴随阵法实现矩阵求逆,文中的示例代码讲解详细,具有一定的学习和借鉴价值,需要的可以参考一下
    2023-02-02
  • c语言printf实现同一位置打印输出的实例

    c语言printf实现同一位置打印输出的实例

    下面小编就为大家带来一篇c语言printf实现同一位置打印输出的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • C++ OpenCV实战之车道检测

    C++ OpenCV实战之车道检测

    这篇文章主要介绍了基于C++ OpenCV实现的车道检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C++ 双向循环链表类模版实例详解

    C++ 双向循环链表类模版实例详解

    这篇文章主要为大家详细介绍了C++ 双向循环链表类模版实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Qt实现字幕滚动效果的示例代码

    Qt实现字幕滚动效果的示例代码

    这篇文章主要介绍了Qt如何利用QTimer实现字幕滚动功能,并且可以实现自行更改文本内容、自适应文本大小、自由调整速度等功能,感兴趣的可以学习一下
    2022-06-06

最新评论