linux的动态库如果有版本号的话,一般会有三个文件
libsample.so -> libsample.x.y.z
libsample.so.x -> libsample.x.y.z
libsample.so.x.y.z
其实前两个文件都是链接到第三个文件的。
那在执行文件使用他他的时候,在编译和运行阶段是怎么样一个过程呢?简单来说:
- 编译时,是通过一个最容易的名字,找到真实的文件,然后取得它的运行时名字
- 运行时,是通过运行时名字,找到链接文件,从而定位真实文件
直接看图
linux的动态库如果有版本号的话,一般会有三个文件
libsample.so -> libsample.x.y.z
libsample.so.x -> libsample.x.y.z
libsample.so.x.y.z
其实前两个文件都是链接到第三个文件的。
那在执行文件使用他他的时候,在编译和运行阶段是怎么样一个过程呢?简单来说:
直接看图
本文暂时没有评论,来添加一个吧(●'◡'●)