您的位置:首页 > 其它

VS2008创建dll,并使用dll

2011-02-11 17:31 274 查看
原来一直使用vc6.0做开发,但是公司主要使用vs2008工具,刚开始使用的时候感觉非常不好用,但是一周下来,不禁感叹,还是新的好啊,嘿嘿!

这里总结一下vs2008下创建dll并使用dll导出函数的方法,当然方法还有很多,找出一个自己比较习惯的方法就好!

一:生成DLL

1:创建DLL工程

文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以)

填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。

到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h。

MyDLL.cpp内容如下:

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

int Add(int &a,int &b)
{
return a+b;
}

MyDLL.h内容如下:

#pragma once
#define DLL_EXPORT __declspec(dllexport)

extern "C" DLL_EXPORT int Add(int &a,int &b);

点击生成,则dll文件就生成了,vs2008不能直接生成lib文件,这个时候就需要我们在建立dll工程的时候 再新建一个def文件,默认生成然后重新生成就能够得到lib文件了

2:调用DLL文件导出的接口函数

vs2008这个IDE非常好用,我们这里玩一下,在上面创建的DLL工程中,再新建一个项目来直接调用DLL导出函数。

右键解决方案->添加->新建项目->建立一个空的常规工程 testMyDLL,下面新建两个文件testMyDLL.cpp和testMyDLL.h

testMyDLL.cpp内容如下:

#include "testMyDLL.h"
#pragma comment(lib,"..\\debug\\MyDLL.lib")

#include <iostream>
using namespace std;

int main()
{
int a =3;
int b =2;
cout<<Add(a,b)<<endl;

getchar();

}

testMyDLL.h内容如下:

#pragma once
#define DLL_EXPORT __declspec(dllexport)

extern "C" DLL_EXPORT int Add(int &a,int &b);

这里需要注意testMyDLL.cpp文件中调用lib的这句话:

#pragma comment(lib,"..\\debug\\MyDLL.lib")

这里需要指明lib所在的文件夹,当然我们也可以在生成dll的MyDLL工程中,指定lib和dll文件的输出路径,直接到testMyDLL工程下。

注:dll文件的操作有很多方法,待以后丰富。。。

本文出自 “志不强者智不达” 博客,请务必保留此出处http://marico.blog.51cto.com/1929668/491436
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: