详解 gcc 编译、链接原理—揭开应用程序运行背后的奥秘( 二 )


其他概念
ldconfig:这是个可执行程序,隶属于 GNU,作用是在默认搜寻目录(/lib和/usr/lib)以及共享库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出共享库文件(lib*.so*),进而创建出 ld-linux.so 所需要的链接和缓存文件 。缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的共享库名字列表 。更新缓存使新添加的库生效,当然系统启动时会自动运行 ldconfig 。

详解 gcc 编译、链接原理—揭开应用程序运行背后的奥秘

文章插图
 
ldd:这是 Linux 内核中自带的脚本,可以用来查看可执行文件链接了哪些共享库
详解 gcc 编译、链接原理—揭开应用程序运行背后的奥秘

文章插图
 
strip <可执行文件名> 去除符号表,可以给可执行文件瘦身
使用 objdump、readelf、nm 等命令可以查询目标文件的详细内容 。
gcc -print-search-dirs 可以查看 gcc 在编译、链接过程中的共享库搜索路径 。




推荐阅读