工作记录---静态库和动态库
来源:互联网 发布:python r语言接口 编辑:程序博客网 时间:2024/06/06 20:50
库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。
静态库就是直接将需要的代码连接进可执行程序;
一,静态库的使用需要:
1 包含一个对应的头文件告知编译器lib文件里面的具体内容
2 设置lib文件允许编译器去查找已经编译好的二进制代码
使用静态库(Use static libary)是把.lib和其他.obj一起build在目标文件中,目标文件可以是.exe,也可以是.dll或.oxc等。
动态库就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。
程序运行时需要加载动态库,对动态库有依赖性,需要手动加入动态库。
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题。动态库在程序运行是才被载入,也解决了静态库对程序的更新、部署和发布页会带来麻烦。用户只需要更新动态库即可,增量更新。
0 0
- 工作记录---静态库和动态库
- 动态库和静态
- linux 静态库动态库学习记录
- C++编译工作原理和编译时的动态库静态库
- 静态库和动态库
- 静态库和动态库
- 动态库和静态库
- 静态库和动态库
- 静态库和动态库
- 静态库和动态库
- 静态库和动态库
- 动态库和静态库
- 静态库和动态库
- 静态库和动态库
- 静态库和动态库
- 静态库和动态库
- 静态库和动态库
- 动态库和静态库
- android处理图片的一些问题总结
- java中hashcode()和equals()的详解
- 使用weather.com.cn数据实现的简易天气demo
- Android 终端检测器:基础、视频源
- 扩展分区
- 工作记录---静态库和动态库
- ASP.NET ViewState详解
- JavaEE入职后都在干啥——常见入职疑惑解答
- 同步手机真机屏幕到PC上的软件使用方法
- 该功能已被分配模板,请先撤销模板分配再删除
- 开源空间:交叉编译Linux内核(2.6.22.6)
- ZOJ 2760 How Many Shortest Path 最短路+最大流
- CSS遮罩层对话框
- 光照数学模型