利用Visual C++6.0创建和使用DLL(Dynamic-Link Library).

原文地址:http://www.cnblogs.com/because/archive/2012/02/18/2357109.html



摘要

       利用Visual C++6.0创建和使用DLL(Dynamic-Link Library).

概述

   在实际编程时,我们可以把完成某种功能的函数放在一个动态链接库中,然后给其他程序调用。

   WinAPI中所有的函数都包含在3个最重要的DLL中。

      • Kernel32.dll

        它包含那些用于管理内存、进程和线程的函数,例如CreateThread函数;

      • User32.dll

        它包含那些用于执行用户界面任务的函数,例如CreateWindow函数;

      • GDI32.dll   

        它包含那些用于画图和显示文本的函数。

用法 

 新建一个Win32 Console Application工程:

以MathLib为工程名称新建Win32 Dynamic-Link Library的空工程,

添加C++ Source File 源文件到工程中,命名为MathLib.c

添加以下代码:

复制代码
 1 #define MATH_API _declspec(dllexport)
2 #include "MathLib.h"
3 int add(int a,int b)
4 {
5 return a+b;
6 }
7 int subtract(int a,int b)
8 {
9 return a-b;
10 }
复制代码

添加C/C++ Header File 头文件到工程中,命名为MathLib.h

复制代码
1 #ifdef MATH_API
2 #else
3 #define MATH_API _declspec(dllimport)
4 #endif
5 MATH_API int add(int a,int b);
6 MATH_API int subtract(int a,int b);
复制代码

编译后生成MathLib.dll和MathLib.lib两个动态链接库文件。

测试

  • 隐式调用

 

新建MFC AppWizard[exe]可执行工程DllTest,用于测试刚才新建动态链接库MathLib的功能。

复制MathLib.dll,MathLib.lib,MathLib.h到当前工程,

在DllTestDlg.cpp中添加头文件引用:

 

#include "MathLib.h"

 

添加MathLib.h头文件至工程,

 

在Project->Setting->Link->object/library modules:添加MathLib.lib

 

添加一个按钮Add到Dialogue中,在Add按钮的响应函数中添加以下代码:

 

复制代码
1 void CDllTestDlg::OnBtnMath() 
2 {
3 // TODO: Add your control notification handler code here
4 CString res;
5 res.Format("10+2=%d",add(10,2));
6 MessageBox(res);
7 }
复制代码

编译运行程序,

 

 

成功运行MathLib中的加法功能。

工程文件:

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值