使用VS2008创建类的DLL

来源:互联网 发布:淘宝天猫优惠券秒杀 编辑:程序博客网 时间:2024/06/04 20:46

因为项目合作的关系,需要将源代码转化为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;}
运行程序,会出现如下结果:





原创粉丝点击