制作使用dll




在静态调用dll的app工程中
“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,添加h目录。。这样可以直接在cpp中可以直接#include <mydll.h>
“工具”->“选项”->“项目和解决方案”->“VC++目录”->“库文件”,添加lib目录,供动态链接时引用。。这样可以直接在cpp中#pragma comment(lib,"mydll.lib")
path环境变量中添加dll目录,供exe运行时引用

或者在 右击项目--属性--配置属性--链接器--输入--附加依赖项里添加各个lib文件
或者在 在文件中加一行 #pragma comment(lib,"mydll.lib")
二者取其一

refer to
http://www.cnblogs.com/edisonfeng/archive/2011/08/02/2124682.html
源码
导出一般函数dll
http://download.csdn.net/detail/luck_good/4478147
一般导出类dll
http://download.csdn.net/detail/luck_good/4478149

下面补充制作mfc类dll的例子,vc2008
制作
建立dll项目,如下





然后添加一个类,如下




稍稍修改MyClass.h,在类声明里添加_declspec(dllexport),并添加一个成员函数int add(int a,int b);如下
#pragma once
class  _declspec(dllexport) CMyClass
{
public:
    CMyClass(void);
    ~CMyClass(void);
    int add(int a,int b);
};
MyClass.cpp添加add的实现代码
#include "StdAfx.h"
#include "MyClass.h"

CMyClass::CMyClass(void)
{
}

CMyClass::~CMyClass(void)
{
}

int CMyClass::add(int a,int b)
{
return a+b;
}


build之后,会生成my_dll.lib和my_dll.dll。

调用
在其他地方调用时,仅需将my_dll.lib拷贝到工程(比如.vcproj)所在目录,将my_dll.dll拷贝到exe所在目录。
当然头文件MyClass.h也要拷贝到工程所在目录
在调用的cpp中添加下面两行代码
#include "MyClass.h"
#pragma comment(lib,"my_dll.lib")

然后就可以调用了,比如
void CmydllcallDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    CMyClass MyClass;
    int i=MyClass.add(10,20);
}
mfc导出类源码
http://download.csdn.net/detail/luck_good/4478141

看来不管是制作一般的导出函数还是一般的导出类还是mfc的导出类:使用dll的向导结束后,只要添加一个文件,在此文件中写代码即可。函数和类需要使用_declspec(dllexport)修饰。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值