【发布时间】:2010-09-28 01:06:01
【问题描述】:
是否有一个实用程序可以将所有精灵需要的 SO 转换为静态然后将精灵转换为免费的 SO?
【问题讨论】:
标签: linux shared-libraries elf
是否有一个实用程序可以将所有精灵需要的 SO 转换为静态然后将精灵转换为免费的 SO?
【问题讨论】:
标签: linux shared-libraries elf
Statifier 是一个选项。另一种选择是 Ermine。 虽然 Ermine 是商用的,但它在具有内存随机化的系统上表现得比 statifier 更好。
【讨论】:
我使用了 codelogic 提到的 Statifier。
它适用于 ethtool 等多个 Linux 命令。
【讨论】:
可能不会,尽管理论上,毫无疑问,这是可以做到的。
需要注意的一个方面 - 典型程序不会使用给定 SO 中的所有代码,因此盲目地将所有材料包含在每个 SO 中会给您一个异常臃肿的可执行文件。经典的静态链接只包含需要的内容。
另一个需要注意的方面是 C++ 模板实例化。我假设这些将主要出现在可执行文件中(而不是作为 SO 的一部分)。
【讨论】:
您可以在编译时使用 -static 进行链接。您是否要进行此后编译?
【讨论】: