gpt4 book ai didi

c++ - 在 Linux 上寻找静态链接排序工具

转载 作者:可可西里 更新时间:2023-11-01 15:24:40 25 4
gpt4 key购买 nike

<分区>

是否有任何合适的工具来确定 Linux 下 g++ 的最佳静态链接顺序?我熟悉一般问题,包括(如有必要)使用对单个库的重复引用或 --start-group 和 --end-group 来解决循环依赖,但如果可能的话,我想要什么,是一个工具,它将获取一堆 .a 文件并为它们吐出一个良好的静态链接顺序,必要时重复库,同时将重复保持在最低限度。

背景:我正在处理一个包含大约 80 万行继承的 C++ 代码的项目,并试图将其重构为更小、更易于管理的 block 。一些现有的文件是巨大的整体——今天我一直在努力处理一个 34K 行的 .h 文件,它定义了 113 个类和结构。许多类几乎完全内联定义在 .h 文件中。当我把它分成更小的 block ,并将一些实现代码迁移到 .cpp 文件时,Linux 上所需的链接顺序不断变化。这可能是因为包含 .h 文件的每个库都用于编译它自己需要的任何类的实现,现在它们必须链接到单个库文件中的通用实现。从长远来看,我们可能会将一些类重新组织到不同的库中,并打破一些依赖链,但现在依赖关系非常困惑,我正在努力将可能改变行为的代码扰动降到最低。我不想每次更改时都必须手动确定正确的链接顺序。有什么建议吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com