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,然后引入上面的动态链接库,进行使用测试。程序运行如下: 项目属性修改如图:

下载地址: 下载源码