静态库与动态库区别比较
2015-09-14 10:09
260 查看
库分为静态库和动态库
提供前者的供应者,提供出:头文件.h和静态链接(编译)库.lib。 这里的lib文件较大
提供后者的供应者,提供出:头文件.h 、导入库.lib、实际dll库.dll。 这里的lib文件较小
静态库的使用:
#include "..\lib.h"
#pragma comment(lib,"..\\debug\\libTest.lib")
动态库的使用,方法一:
#include "..\lib.h"
#pragma comment(lib,"..\\debug\\libTest.lib")
将动态库生成的*.dll文件放到EXE的同一目录下。
动态库的使用,方法二:
Another.dll有一个int Add(int x,int y) 函数。
typedef int (* FunPtr)(int,int); //定义函数指针
FunPtr funPtr;
Handle handle =LoadLibrary("Another.dll");
funPtr =(FunPtr)GetProcAddress(handle ,"Add");
funPtr(2,3); // 2+3;
FreeLibrary(handle); // 释放载入的动态库
提供前者的供应者,提供出:头文件.h和静态链接(编译)库.lib。 这里的lib文件较大
提供后者的供应者,提供出:头文件.h 、导入库.lib、实际dll库.dll。 这里的lib文件较小
静态库的使用:
#include "..\lib.h"
#pragma comment(lib,"..\\debug\\libTest.lib")
动态库的使用,方法一:
#include "..\lib.h"
#pragma comment(lib,"..\\debug\\libTest.lib")
将动态库生成的*.dll文件放到EXE的同一目录下。
动态库的使用,方法二:
Another.dll有一个int Add(int x,int y) 函数。
typedef int (* FunPtr)(int,int); //定义函数指针
FunPtr funPtr;
Handle handle =LoadLibrary("Another.dll");
funPtr =(FunPtr)GetProcAddress(handle ,"Add");
funPtr(2,3); // 2+3;
FreeLibrary(handle); // 释放载入的动态库
相关文章推荐
- 技能冷却UGUI5.1
- ACM Computer Factory 网络流
- Hello World!
- Git简介
- OC语言description方法和sel
- OC语言类的深入和分类
- Eclipse中SVN的安装及使用
- 嵌入式实时操作系统Nucleus PLUS综述
- JSP中c:foreach遍历和s:iterator遍历异同实例分析
- android手机客户端上传文件,java servlet服务器端接收并保存到服务器
- Codeforces Round #319 (Div. 2)
- Android开源测试框架学习
- 黄聪:如何使用CodeSmith批量生成代码(原创系列教程)
- JTAG与SWD的区别
- OC语言构造方法
- OC语言@property @synthesize和id
- kddcup2015
- keepalived工作原理和配置说明
- Nucleus PLUS系统架构和组件
- OVM Concept: Oracle VM Agent