我们进行了一项练习,以停止使用 --start-group 和 --end-group 进行静态链接,除非绝对必要。我们无条件地使用它,无论所讨论的静态库是否具有循环依赖关系。我知道在我们取出无条件的 --start-group 和 --end-group 后,链接器的压力较小,但仅将其放置在真正需要的地方。
我想知道这些选项对于动态链接库的意义。
ld.so 运行时加载程序如何解决动态库的循环依赖关系(如果有)?
这就提出了另一个问题,我们真的应该担心动态库的 --start-group 和 --end-group 使用吗?
老实说,我对此的了解还不够多,但我认为可以在这里问。