【问题标题】:Pack shared libraries into the elf [closed]将共享库打包到精灵中[关闭]
【发布时间】:2010-09-28 01:06:01
【问题描述】:

是否有一个实用程序可以将所有精灵需要的 SO 转换为静态然后将精灵转换为免费的 SO?

【问题讨论】:

    标签: linux shared-libraries elf


    【解决方案1】:

    以下是一些您可能会觉得有用的项目:

    • Statifier(基本上做你想做的)
    • ERESI(可以做你想做的,也可以分析 ELF 目标)

    注意:我自己没有使用过这两个应用程序。

    【讨论】:

      【解决方案2】:

      Statifier 是一个选项。另一种选择是 Ermine。 虽然 Ermine 是商用的,但它在具有内存随机化的系统上表现得比 statifier 更好。

      【讨论】:

        【解决方案3】:

        我使用了 codelogic 提到的 Statifier。

        它适用于 ethtool 等多个 Linux 命令。

        【讨论】:

          【解决方案4】:

          可能不会,尽管理论上,毫无疑问,这是可以做到的。

          需要注意的一个方面 - 典型程序不会使用给定 SO 中的所有代码,因此盲目地将所有材料包含在每个 SO 中会给您一个异常臃肿的可执行文件。经典的静态链接只包含需要的内容。

          另一个需要注意的方面是 C++ 模板实例化。我假设这些将主要出现在可执行文件中(而不是作为 SO 的一部分)。

          【讨论】:

            【解决方案5】:

            您可以在编译时使用 -static 进行链接。您是否要进行此后编译?

            【讨论】:

            • 你能推荐一些编译后的事情吗?
            猜你喜欢
            • 2016-07-20
            • 2017-11-08
            • 1970-01-01
            • 1970-01-01
            • 2013-01-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-30
            相关资源
            最近更新 更多