动态链接库是Windows的基础, 也可以说是操作系统的基础。
能为我们在系统开发中提供如下几个方面的优点:
(1).扩展应用程序 (不必为模块升级重写所有代码)
(2).便于程序员合作 (能为不同开发语言和工具开发者协作开发提供接口)
(3).节省内存
(4).共享程序资源 (包括图片,对话框等)
(5).解决应用程序本地化问题
怎么样编写一个动态链接库呢? 以Win32为例按如下步骤实现:
1. 首先在VC++下建立DLL项目, 编写头文件:
#ifndef _DLL_XXXX_H_
#define _DLL_XXXX_H_
#include <iostream>
#if defined DLL_EXPORT
#define DECLDIR __declspec(dllexport)
#else
#define DECLDIR __declspec(dllimport)
#endif
extern "C"
{
}
#endif
2. 编写CPP源代码文件.
3. VC++中这里有两个方法来导出函数:
4. 模块定义文件(.DEF)
LIBRARY dll_tutorial
DESCRIPTION "our simple DLL"
EXPORTS
一个.def文件中只有两个必需的部分:LIBRARY 和 EXPORTS。其它四个可选部分标识为:NAME, STACKSIZE, SECTIONS, VERSION。
5. DLL的使用(链接方式)