好文档 - 专业文书写作范文服务资料分享网站

动态链接库的使用方法

天下 分享 时间: 加入收藏 我要投稿 点赞

.

动态链接库的使用方法

动态链接库是一堆变量,函数和类的集合体,供其它函数调用。

为什么要使用动态链接库,原因很多,其中三条1.可跨平台调用2.方便二次开发3.方便项目管理。

动态链接库的使用有两个方面,一是把原来的源代码做成动态链接库文件(即生成DLL和lib格式的文件),二是在其它源代码中使用动态链接库。

一.把源代码做成动态链接库文件

可以使用vc6.0及其以上的版本来做,直接建一个动态链接库工程,这个工程和其它的工程类似,有头文件和源文件,不同之处是在为了让DLL导出函数,需在每一个要导出的函数前添加标识符_declspec(dllexport)或declspec(dllimport)。

在头文件中,申明要导出的函数,类,以及一些全局变量。在源文件中,定义或实现头文件中要导出的函数,类以及变量。

1. 做单独的头文件,该头文件可以同时用于动态链接库和使用动态链接库的程序。 为了方便的添加标识符,我们一般在头文件中使用宏定义,示例如下: #ifdef DLL1_API #else

#define DLL1_API _declspec(dllimport) #endif

这样在后面的使用中,可以用DLL1_API来代替_declspec(dllimport),如下: DLL1_API int add (int a,int b); DLL1_API int subtract(int a,int b);

class DLL1_API Point {

public: void output(int x,int y); };

2. 在动态链接库的源文件中包含动态链接库头文件和一条宏定义

在源文件中,要重新定义标识符,使用_declspec(dllexport),所以在源文件中也要添加一条宏定义#define DLL1_API _declspec(dllexport),之后再包含头文件#include \

二.在目标程序中调用动态链接库

在使用动态链接库的程序中隐式的调用动态链接库: 1.把动态链接库的头文件拷贝到目标程序目录下 2.在使用动态链接库的源文件中包含该头文件 3.拷贝动态链接库的两个文件到目标程序目录下

4.在vc6.0的工程/设置/连接 中的对象/库模块中输入动态链接库文件名,如DLL1.lib

三.其它

1.关于DLL中全局变量的定义

精品

.

在头文件中声明,在源文件中定义,如: 在头文件中extern _declspec(dllimport) int num_cai1;

在源文件中则是int num_cai1=200;

2._declspec(dllexport)和_declspec(dllimport)在功能上没什么区别,使用哪个都一样,但是其标

识的意义不同,export是输出,用在DLL中,表示该函数是DLL中要输出的函数。Import是输入,用在头文件中,该头文件也用于调用动态链接库的程序,表示头文件中声明的函数相对调用程序是输入函数。

如有侵权请联系告知删除,感谢你们的配合!

精品

动态链接库的使用方法

.动态链接库的使用方法动态链接库是一堆变量,函数和类的集合体,供其它函数调用。为什么要使用动态链接库,原因很多,其中三条1.可跨平台调用2.方便二次开发3.方便项目管理。动态链接库的使用有两个方面,一是把原来的源代码做成动态链接库文件(即生成DLL和lib格式的文件),二是在其它源代码中使用动态链接库。
推荐度:
点击下载文档文档为doc格式
4wbvf3y9o303gjy5zd2f62h6002tw800l9y
领取福利

微信扫码领取福利

微信扫码分享