知识大全 在Linux创建库函数(2)

Posted 名字

篇首语:秤砣虽小,能压千斤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Linux创建库函数(2)相关的知识,希望对你有一定的参考价值。

在Linux创建库函数(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  摘要:和luster学习在Linux创建库函数   共享函数库      共享函数库中的函数是在当一个可执行程序在启动的时候被加载 如果一个共享函数库正常安装 所有的程序在重新运行的时候都可以自动加载最新的函数库中的函数 对于Linux系统还有更多的可以实现的功能     o 升级了函数库但是仍然允许程序使用老版本的函数库 o 当执行某个特定程序的时候可以覆蓋某个特定的库或者库中指定的函数 o 可以在库函数被使用的过程中修改这些函数库      一些约定      如果你要编写的共享函数库支持所有有用的特性 你在编写的过程中必须遵循一系列约定 你必须理解库的不同的名字间的区别 例如它的 soname 和 real name 之间的区别和它们是如何相互作用的 你同样还要知道你应该把这些库函数放在你文件系统的什么位置等等 下面我们具体看看这些问题        共享库的命名      每个共享函数库都有个特殊的名字 称作 soname Soname名字命名必须以 lib 作为前缀 然后是函数库的名字 然后是 so 最后是版本号信息 不过有个特例 就是非常底层的C库函数都不是以lib开头这样命名的       每个共享函数库都有一个真正的名字( real name ) 它是包含真正库函数代码的文件 真名有一个主版本号 和一个发行版本号 最后一个发行版本号是可选的 可以没有 主版本号和发行版本号使你可以知道你到底是安装了什么版本的库函数     另    外 还有一个名字是编译器编译的时候需要的函数库的名字 这个名字就是简单的soname名字 而不包含任何版本号信息       管理共享函数库的关键是区分好这些名字 当可执行程序需要在自己的程序中列出这些他们需要的共享库函数的时候 它只要用soname就可以了 反过来 当你要创建一个新的共享函数库的时候 你要指定一个特定的文件名 其中包含很细节的版本信息 当你安装一个新版本的函数库的时候 你只要先将这些函数库文件拷贝到一些特定的目录中 运行ldconfig这个实用就可以 Ldconfig检查已经存在的库文件 然后创建soname的符号链接到真正的函数库 同时设置/etc/ld so cache这个缓冲文件 这个我们稍后再讨论       Ldconfig并不设置链接的名字 通常的做法是在安装过程中完成这个链接名字的建立 一般来说这个符号链接就简单的指向最新的soname或者最新版本的函数库文件 最好把这个符号链接指向soname 因为通常当你升级你的库函数的后 你就可以自动使用新版本的函数库勒       我们来举例看看       /usr/lib/libreadline so 是一个完全的完整的soname ldconfig可以设置一个符号链接到其他某个真正的函数库文件 例如是/usr/lib/libreadline so 同时还必须有一个链接名字 例如/usr/lib/libreadline so 就是一个符号链接指向/usr/lib/libreadline so       待续      luster( cn hwang@ustc edu)       cha138/Article/program/Oracle/201311/17922

相关参考

知识大全 在Linux创建库函数(5)

在Linux创建库函数(5)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要:和luster

知识大全 LINUX系统中动态链接库的创建与使用

LINUX系统中动态链接库的创建与使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大家都知道

知识大全 linux生成(加载)动态库静态库和加载示例方法

  动态库的生成  /*mysumc*/    复制代码代码如下:  #include<stdioh>#includesrch  intsum(intaintb)return(a+b);&

知识大全 Linux 动态函式库解析(一)

Linux动态函式库解析(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要:使用动态函式

知识大全 Linux 动态函式库解析(二)

Linux动态函式库解析(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  动态连结VS静态联

知识大全 Linux 动态函式库解析(四)

Linux动态函式库解析(四)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要我想各位读者应

知识大全 Delphi for Linux中应用共享对象库

DelphiforLinux中应用共享对象库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文

知识大全 微软发布.Net Framework函数库源码

微软发布.NetFramework函数库源码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  微软

知识大全 c语言 用库函数计算两日期相差的天数

c语言用库函数计算两日期相差的天数#include<stdio.h>structdateintyear;intmonth;intday;;intmain(void)intisPrime(i

知识大全 哈希(不可逆)加密通用类库函数

  usingSystem;  usingSystemIO;  usingSystemSecurityCryptography;    namespaceCommon    ///<summar