C语言动静态连接
2018-03-12 17:15
302 查看
静态链接:
指编译系统在链接阶段把程序的目标文件和所需的函数库文件链接在一起,这样生成的可执行文件可以在没有函数库的情况下运行,不过产生的可执行文件体积很大;动态链接:
指编译系统在链接阶段并不把目标文件和函数库文件链接在一起,而是等到程序在运行过程中需要使用时才链接函数库,所以产生的的可执行文件体积比较小,但由于需要动态加载函数库而使得运行效率要低一点;链接选择:
如果多个源文件都需要调用函数库时,应该选择动态链接,而只有少数源文件需要调用函数库时选择静态链接;动态链接原理:
每个函数库都有自己的 链接参数 ,比如数学库 libm 的链接参数为 m ,libpthread库的链接参数为 pthread 等,使用符号"-l"进行链接,比如链接数学库为 -lm ;使用动态链接方式编译程序时,动态库的符号链接文件会写入二进制文件中,这样,程序在运行时就可以通过符号链接文件找到指定的动态库文件了;相关文章推荐
- 巩固C语言(九)----静态库文件的生成和使用、劫持技术
- 7天hadoop学习(一)之虚拟机的网络连接方式及linux的静态ip设置
- 静态连接2-hello.o
- C语言连接数据库
- 静态连接库与动态链接库
- VS2015下C语言连接mysql数据库问题
- c语言:【顺序表】静态顺序表的在指定位置插入元素,以及查找指定元素
- C语言操作MySQL数据库:从连接到MySQL数据库服务器开始……
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- C语言与C++编译连接的不同点(从程序中看)
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- linux下C语言连接mysql
- c语言数组方式实现静态循环队列
- C语言连接mysql数据库
- 常用的DBOperate之九——返回数据库连接的静态方法
- C语言字符串拷贝和连接小技巧(可…
- thinking in c++读书笔记--类的静态数据成员的定义的连接属性:外部连接属性
- linux 使用c语言连接mysql数据
- c语言ODBC连接数据库
- 线性表的顺序静态存储--C语言实现