使用VS2008创建类的DLL

因为项目合作的关系,需要将源代码转化为DLL。原本以为会很复杂,结果试验了一下,简单的吓人。

(1)编译类的DLL。

打开Visual Studio,文件→新建→项目→Win32 控制台应用程序,设置项目名称为MyDLL,应用程序类型选择DLL(D),附加选项选择空项目(E)。

头文件如下所示:

/*****************************************************************************
*                                                                            *
*  File: MyDLL.h                                                             *
*  Author: zhuxiaoyang (cgnerds@gmail.com)                                   *
*                                                                            *
*  Created on July 5th, 2013, AM 11:00                                       *                                  *
*                                                                            *
*****************************************************************************/
#ifndef __MyDLL_H__
#define __MyDLL_H__

#if _MSC_VER // this is defined when compiling with Visual Studio
#define EXPORT_API __declspec(dllexport) // Visual Studio needs annotating exported functions with this
#else
#define EXPORT_API // Other IDE does not need annotating exported functions, so define is empty
#endif

#include <iostream>
using namespace std;

class EXPORT_API MyClass
{
public:
	MyClass(int a, int b);
	~MyClass();
	void show();

private:
	int member_a;
	int member_b;
};

#endif __MyDLL_H__
源文件如下所示:

/*****************************************************************************
*                                                                            *
*  File: MyDLL.cpp                                                           *
*  Author: zhuxiaoyang (cgnerds@gmail.com)                                   *
*                                                                            *
*  Created on July 5th, 2013, AM 11:00                                       *                                  *
*                                                                            *
*****************************************************************************/
#include "MyDLL.h"

MyClass::MyClass(int a, int b)
{
	member_a = a;
	member_b = b;
}

MyClass::~MyClass()
{
}

void MyClass::show()
{
	cout<<"member_a: "<<member_a<<", member b: "<<member_b<<endl;
}
编译后,会生成MyDLL.lib和MyDLL.dll两个文件。

(2)调用类的DLL。

打开Visual Studio,文件→新建→项目→Win32 控制台应用程序,设置项目名称为MyDLLTest,应用程序类型选择控制台应用程序(O),附加选项选择空项目(E)。

在项目属性里,链接器→常规→附加库目录,填写MyDLL.lib所在目录;输入里填写MyDLL.lib。将MyDLL.dll放入工作目录,也就是生成MyDLLTest.exe的地方。

源文件如下所示:

#include "MyDLL.h"
#include <iostream>
using namespace std;

int main()
{
	MyClass myClass(5, 6);
	myClass.show();

	system("pause");
	return 0;
}
运行程序,会出现如下结果:





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值