中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 综合文章
VC7.1环境下动态链接库的创建和调用
作者:未知 时间:2005-07-27 21:54 出处:CSDN 责编:chinaitpower
              摘要:VC7.1环境下动态链接库的创建和调用
一、   动态链接库的创建示例
1.      选择VC.Net菜单项,选择文件->新建->项目,在弹出的新建项目的对话框中,选择项目类型为Visual C++ 项目,类别为MFC的工程,在右边的模板中,选择MFC DLL模板,给项目取名为TestDLL,选择好项目的位置,按确定健,进入应用程序设置。

2.       在应用程序设置中,我们可以看到,有三种DLL类型,它们依次对应着三类DLL。
                                            

        选择“使用共享的MFC DLL”。
3.     点击完成,得到TestDLL工程。
4.     在TestDLL工程中新增MyDll类,如下:
/*MyDll.h*/
#pragma once
class AFX_CLASS_EXPORT CMyDll
{
public:
 CMyDll(void);
 ~CMyDll(void);
 int Max(int a, int b);
};
/*MyDll.cpp */
#include "StdAfx.h"
#include ".\mydll.h"
CMyDll::CMyDll(void)
{
}
CMyDll::~CMyDll(void)
{
}
int CMyDll::Max(int a, int b)
{
 if( a>=b )
  return a;
 else
  return b;
}
5.     在TestDLL工程中新增MyDllH.h,如下:
/*MyDllH.h*/
#pragma once
#pragma once
#include "MyDll.h"
#ifdef _AFXDLL
#ifdef _DEBUG
#define _MD_COMMENT "testdllD.lib"
#define _MD_MESSAGE "Automatically linking with testdllD.dll"
#else
#define _MD_COMMENT "Rtestdll.lib"
#define _MD_MESSAGE "Automatically linking with testdlll.dll"
#endif
#endif
#pragma comment(lib, _MD_COMMENT)
#pragma message(_MD_MESSAGE)
6.      设置TestDll工程的Property,如下:
General->OutPut Directory                                    ..\..\Debug
Linker->General->OutPut File                               $(OutDir)/testdllD.dll
Linker->Advance->Import Library                        $(OutDir)/testdllD.lib
7.      修改TestDll.def,如下:
; testdll.def : Declares the module parameters for the DLL.
;LIBRARY      "TestDll"
EXPORTS
    ; Explicit exports can go here
8.     Build TestDll。得到TestDll.dll和TestDll.lib位于..\..\debug目录下。

二、    动态链接库的调用示例
1.     创建MFC Application 中的Dialog Based应用程序,得到TestDllApply工程。
2.     在TestDllApply工程中的stdafx.h中添加一项:
#include "MyDllH.h";
3.     添加对话框中“确定”按钮的消息响应函数,如下:
void CMyDllApllyDlg::OnBnClickedOk()
{
 // TODO: Add your control notification handler code here
 CMyDll  myDll;
 int i = myDll.Max(2,9);
 OnOK();
}
4.        设置TestDllApply工程的Property,如下:
General->OutPut Directory                                                            ..\..\Debug
C++->General->Additional Include Directories                              TestDll工程中MyDll.cpp所在目录路径
Linker->General->Additional Library Directories                           TestDll工程中Debug文件夹的目录路径
Linker->Input->Additional Dependencies                                      TestDll.lib
5.       编译、链接并运行TestDllApply工程,断点跟踪至int i = myDll.Max(2,9);语句,可以看到i的值是9。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有