好记性不如铅笔头

C && C++, 编程

GCC -soname参数介绍

本文参考【 http://blog.csdn.net/gohome520/article/details/7259450 】,有精简。

-Wl选项告诉编译器将后面的参数传递给链接器。
-soname则指定了动态库的soname(简单共享名,Short for shared object name)

soname的关键功能是它提供了兼容性的标准:
当要升级系统中的一个库时,并且新库的soname和老库的soname一样,用旧库链接生成的程序使用新库依然能正常运行。这个特性使得在Linux下,升级使得共享库的程序和定位错误变得十分容易。
在Linux中,应用程序通过使用soname,来指定所希望库的版本,库作者可以通过保留或改变soname来声明,哪些版本是兼容的,这使得程序员摆脱了共享库版本冲突问题的困扰。
可以通过readelf -d来查看每个动态库的SONAME

发表评论

15 + 10 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据