其他概念
ldconfig:这是个可执行程序,隶属于 GNU,作用是在默认搜寻目录(/lib和/usr/lib)以及共享库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出共享库文件(lib*.so*),进而创建出 ld-linux.so 所需要的链接和缓存文件 。缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的共享库名字列表 。更新缓存使新添加的库生效,当然系统启动时会自动运行 ldconfig 。
![详解 gcc 编译、链接原理—揭开应用程序运行背后的奥秘](http://img.jiangsulong.com/220423/05402J214-6.jpg)
文章插图
ldd:这是 Linux 内核中自带的脚本,可以用来查看可执行文件链接了哪些共享库
![详解 gcc 编译、链接原理—揭开应用程序运行背后的奥秘](http://img.jiangsulong.com/220423/05402IN5-7.jpg)
文章插图
strip <可执行文件名> 去除符号表,可以给可执行文件瘦身
使用 objdump、readelf、nm 等命令可以查询目标文件的详细内容 。
gcc -print-search-dirs 可以查看 gcc 在编译、链接过程中的共享库搜索路径 。
推荐阅读
- JAVA中常见的阻塞队列详解
- 有限状态机 多图详解TCP三次握手和四次挥手
- 一文详解操作系统进程管理
- 谈恋爱的技巧的方法详解
- CAN总线协议详解
- 数据中台到底包括什么内容?一文详解架构设计与组成
- 详解三种不同的身份验证协议
- 详解飞书新功能,如何让开发者“爽”起来?
- CentOS 7 安装 JDK 11
- java中常见的六种线程池详解