Linux下库相关的概略介绍及动态库的搜索路径优先级.docVIP

  • 23
  • 0
  • 约2.55千字
  • 约 4页
  • 2018-12-19 发布于贵州
  • 举报

Linux下库相关的概略介绍及动态库的搜索路径优先级.doc

Linux下库相关的概略介绍及动态库的搜索路径优先级

Linux下库相关的概略介绍及动态库的搜索路径优先级 (本文主要针对动态连接库,内容来源网络,重新整理之,高亮部分的请重点关注) 一.基本知识 总体来说,库可以有三种使用的形式:静态、共享和动态.静态库的代码在编译时就已连接到开发人员开发的应用程序中,而共享库只是在程序开始运行时才载入.在编译时,只是简单地指定需要使用的库函数.动态库则是共享库的另一种变化形式.动态库也是在程序运行时载入,但与共享库不同的是,使用的库函数不是在程序运行开始,而是在程序中的语句需要使用该函数时才载入.动态库可以在程序运行期间释放动态库所占用的内存,腾出空间供其它程序使用.由于共享库和动态库并没有在程序中包括库函数的内容,只是包含了对库函数的引用,因此代码的规模比较小. 而Linux下的库文件分为共享库和静态库两大类,它们两者的差别仅在程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的.区分库类型最好的方法是看它们的文件后缀,通常共享库以.so(Shared Object的缩写)结尾,静态链接库通常以.a结尾(Archive的缩写).在终端缺省情况下,共享库通常为绿色,而静态库为黑色. 已经开发的大多数库都采取共享库的方式.ELF格式的可执行文件使得共享库能够比较容易地实现,当然使用旧的a.out模式也可以实现库的共享.Linux系统中目前可执行文件的标准格式为ELF(Executabl

文档评论(0)

1亿VIP精品文档

相关文档