VC动态链接库的创建和使用

一,MFC扩展DLL
创建:
1,新建一个MFC扩展DLL ,名字为dll5,添加头文件,名为dll5
2,头文件中加入:
extern __declspec(dllexport) CString concatA(CString x,CString y);
3,在cpp文件中加入:
extern __declspec(dllexport) CString concatA(CString x,CString y)
{
 return x + y;
}
4,在cpp文件中加入:
#include "dll5.h"

5,编译,生成dll
使用:
1,新建一个单文档应用程序,名为Usedll5
2,将刚才生成的dll5.lib文件和dll5.h文件拷贝到当前应用程序路径下,
  将dll5.dll 文件拷贝到 当前应用程序下的debug下
3,在当前应用程序中用到该dll5的导出方法(concatA)的文件(或类)上添加如下语句:
#include "dll5.h"
假设将其加到 Usedll5View.cpp中。
4,在Usedll5View类中建立消息映射入口,在消息函数中添加如下语句:
CString a=concatA("中国北车集团","长春轨道客车股份有限公司");
MessageBox(a);
5,在 工程/设置/连接/对象库/模块 中加入:dll5.lib

6,编译执行该应用程序,并触发该消息,则输出:

中国北车集团长春轨道客车股份有限公司

之后只要定义不更改,函数体无论怎么更改。我们只要将编译好的dll拷贝过来即可。如果定义有了修改,则需要将h文件和lib 文件拷贝过来,并需要重新编译。

 

二,动态链接库使用共享MFC DLL
创建:
1,新建一个 DLL(选 动态链接库使用共享MFC DLL)
2,头文件中加入:
_declspec(dllexport) CString WINAPI concatA(CString x,CString y);
3,在cpp文件末尾加入:
_declspec(dllexport) CString WINAPI concatA(CString x,CString y)
{
 return x + y;
}
4,编译,生成dll
使用:
1,新建一个单文档应用程序,名为Usedll8
2,将刚才生成的dll8.lib文件拷贝到当前应用程序路径下,
  将dll8.dll 文件拷贝到 c:\winnt\system32下
3,在当前应用程序中用到该dll5的导出方法(concatA)的 类的头文件上添加如下语句:
extern CString WINAPI concatA(CString x,CString y);
假设将其加到 Usedll8View.h中。
4,在Usedll8View类中建立消息映射入口,在消息函数中添加如下语句:
CString a=concatA("中国北车集团","长春轨道客车股份有限公司");
MessageBox(a);
5,在 工程/设置/连接/对象库/模块 中加入:dll8.lib
6,编译执行该应用程序,并触发该消息,则输出:

中国北车集团长春轨道客车股份有限公司

posted on 2007-12-05 20:18 李亚 阅读(1732) 评论(0)  编辑 收藏 引用 所属分类: MFC/VC


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

公告

这世界并不会在意你的自尊,这世界指望你在自我感觉良好之前先要有所成就!

常用链接

留言簿(3)

随笔分类(32)

随笔档案(32)

相册

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜