我正在阅读Mastering Embedded Linux Programming book。见过以下段落:
libjpeg.a: This is the library archive used for static linking
libjpeg.so -> libjpeg.so.8.0.2: This is a symbolic link, used for dynamic linking
libjpeg.so.8 -> libjpeg.so.8.0.2: This is a symbolic link, used when loading the library at runtime
libjpeg.so.8.0.2: This is the actual shared library, used at both compile time and runtime
dynamic linking
和loading the library at runtime
之间的区别是什么?
答案 0 :(得分:0)
见过以下段落
书籍作者可能很困惑。
除了libjpeg.so
之外,没有基本原因,这是一个可用于链接和运行时加载的共享库。
所有.so.8.0.2
命名和符号链接的原因是外部库版本控制,例如, here
在支持symbol versioning的GNU系统上根本不需要外部版本控制。