![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链接
oyhy_
这个作者很懒,什么都没留下…
展开
-
Linux程序编译链接动态库版本的问题
不同版本的动态库可能会不兼容,如果程序在编译时指定动态库是某个低版本,运行是用的一个高版本,可能会导致无法运行。Linux上对动态库的命名采用libxxx.so.a.b.c的格式,其中a代表大版本号,b代表小版本号,c代表更小的版本号,我们以Linux自带的cp程序为例,通过ldd查看其依赖的动态库 $ ldd /bin/cp ...转载 2019-12-02 15:19:19 · 3171 阅读 · 2 评论 -
动态符号链接的细节
基本概念ELFELF 是 Linux 支持的一种程序文件格式,本身包含重定位、执行、共享(动态链接库)三种类型(man elf)。代码:/* test.c */#include <stdio.h> int global = 0;int main(){ char local = 'A'; printf("local = %c, ...转载 2019-12-02 11:15:28 · 423 阅读 · 0 评论 -
链接器-初探
#一. 首先先回顾一下c文件里面的内容(声明和定义)*定义也是声明/ *这是未初始化的全局变量的定义* / int x_global_uninit; / *这是初始化的全局变量的定义* / int x_global_init = 1; / *这是未初始化的全局变量的定义,尽管 *只能在此C文件中通过名称访问的变量* / static int y_global_uninit; ...原创 2019-11-29 11:34:14 · 460 阅读 · 0 评论