LINUX第5课总结
来源:互联网 发布:cssrs是什么软件 编辑:程序博客网 时间:2024/06/06 19:41
静态库与动态库的区别
静态库的使用需要: 包含一个对应的头文件告知编译器lib文件里面的具体内容 ,设置lib文件允许编译器去查找已经编译好的二进制代码。
动态库的使用: 程序运行时需要加载动态库,对动态库有依赖性,需要手动加入动态库。
区别:
简单讲,静态库就是直接将需要的代码连接进可执行程序;动态库就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。
做成静态库可执行文件本身比较大,但不必附带动态库
做成动态库可执行文件本身比较小,但需要附带动态库
链接静态库,编译的可执行文件比较大,当然可以用strip命令精简一下(如:strip libtest.a),但还是要比链接动态库的可执行文件大。程序运行时间速度稍微快一点。
静态库是程序运行的时候已经调入内存,不管有没有调用,都会在内存里头。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。
其在编译程序时若链接,程序运行时会在系统指定的路径下搜索,然后导入内存,程序一般执行时间稍微长一点,但编译的可执行文件比较小;动态库是程序运行的时候需要调用的时候才装入内存,不需要的时候是不会装入内存的。
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
0 0
- LINUX第5课总结
- LINUX常用命令 第一天总结
- 实习第一周总结(php+linux)
- 《LINUX程序设计》第4章总结
- 第5.6.7章linux知识总结
- Linux课堂知识点总结第6弹
- 《linux设备驱动程序》第3章总结
- 韦东山Linux视频驱动第2期》学习总结之第17课(USB设备驱动程序)
- LINUX总结第4篇:LINUX安装使用mysql
- LINUX总结第15篇:Linux-网桥原理分析
- 第9节 Linux内核学习总结【Linux内核分析】
- Linux视频驱动 学习总结之第13课(输入子系统)
- LINUX总结第5篇:Cent os常用软件(看电影、听音乐、看pdf、看word等)
- Oracle第三节课总结
- 第一天课的总结
- 《linux内核完全注释》第3章总结
- LINUX学习总结第6篇:搭建FTP服务器
- LINUX总结第7篇:搭建SVN服务器
- C++读二进制文件 及 C++设置double精度
- hello word
- 表格基础
- ASC码表 和 转义字符表
- C语言str函数的源码
- LINUX第5课总结
- 史上最牛JAVA思维导图学习笔记
- Qt下编译debug版本OpenCV
- Toolbar
- Systemd 入门教程:命令篇
- sublime快捷键 window下
- 第八届蓝桥杯B组 c++/c
- HDU2191 (多重背包) 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- java内部类的创建方式