|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。
1、基础观点
1.1甚么是库
在windows平台和linux平台下都大批存在着库。
实质下去说库是一种可实行代码的二进制情势,能够被操纵体系载进内存实行。
因为windows和linux的平台分歧(次要是编译器、汇编器和毗连器的分歧),因而两者库的二进制是不兼容的。
本文仅限于先容linux下的库。
1.2库的品种
linux下的库有两种:静态库和共享库(静态库)。
两者的分歧点在于代码被载进的时候分歧。
静态库的代码在编译过程当中已被载进可实行程序,因而体积较年夜。
共享库的代码是在可实行程序运转时才载进内存的,在编译过程当中仅复杂的援用,因而代码体积较小。
1.3库存在的意义
库是他人写好的现有的,成熟的,能够复用的代码,你可使用但要记得恪守允许协定。
实际中每一个程序都要依附良多基本的底层库,不成能每一个人的代码都从零入手下手,因而库的存在乎义非同平常。
共享库的优点是,分歧的使用程序假如挪用不异的库,那末在内存里只必要有一份该共享库的实例。
1.4库文件是怎样发生的在linux下
静态库的后缀是.a,它的发生分两步
Step1.由源文件编译天生一堆.o,每一个.o里都包括这个编译单位的标记表
Step2.ar命令将良多.o转换成.a,成娴静态库
静态库的后缀是.so,它由gcc加特定参数编译发生。
详细办法拜见后文实例。
1.5库文件是怎样定名的,有无甚么标准
在linux下,库文件一样平常放在/usr/lib和/lib下,
静态库的名字通常是libxxxx.a,个中xxxx是该lib的称号
静态库的名字通常是libxxxx.so.major.minor,xxxx是该lib的称号,major是主版本号,minor是副版本号
1.6怎样晓得一个可实行程序依附哪些库
ldd命令能够检察一个可实行程序依附的共享库,
比方#ldd/bin/lnlibc.so.6
=>/lib/libc.so.6(0 |
|