动态和静态库即调用

5 篇文章 0 订阅

库:一种可执行代码的二进制形式,可以被载入内存执行,其中可分为静态库和动态库。

一· 静态库:

linux下一般为.a结束,由于静态库是要编译进程序中的,所以利用静态库编译成的执行文件比较大(相比动态库);

优点:

因为整个静态库的所有数据(代码)都会被整合进目标代码中,所有使用的函数也被编译进去了,所以编译后生成的可执行文件不需要任何外部库的支持;

缺点:

因为当库改变时,要重新编译整个工程。

二. 动态库

linux下动态库名字一般以.so结束,相比静态库,动态库是不被编译进目标代码的,只有你的程序执行到相关函数时才调用动态库里面的相关实现或者定义的函数;

由于不用编译进目标代码,所以编译生成的可执行文件较小。

优点:

动态库函数改变并不影响你的程序,所以动态库升级比较方便。

缺点:

由于库没有被编译进目标代码,而是程序执行时动态申请调用函数,所以程序的执行环境中必须提供相应的库。

未完待续

参考:

http://www.cnblogs.com/tianshuai11/archive/2012/03/20/2477180.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值