Упакуйте общие библиотеки в эльфа - PullRequest
14 голосов
/ 22 декабря 2008

Есть ли утилита, которая может принимать ALL SO, которые необходимы эльфу, превращают их в статические, а затем конвертируют эльфа в SO бесплатно?

Ответы [ 5 ]

10 голосов
/ 22 декабря 2008

Вот несколько проектов, которые могут вам пригодиться:

  • Statifier (в основном то, что вы хотите)
  • ERESI (может делать то, что вы хотите, также позволяет анализировать цели ELF)

ПРИМЕЧАНИЕ. Я не использовал ни одно из этих приложений.

3 голосов
/ 05 января 2009

Statifier является опцией. Другой вариант - Горностай . Хотя Ermine является коммерческим продуктом, он работает лучше, чем стабилизатор в системах с рандомизацией памяти.

2 голосов
/ 22 декабря 2008

Я использовал Statifier, как упомянуто codelogic.

Он хорошо работал для нескольких команд Linux, таких как ethtool.

1 голос
/ 22 декабря 2008

Наверное, нет, хотя в теории, без сомнения, это можно сделать.

Один аспект, о котором следует знать - типичная программа не будет использовать весь код из данной SO, поэтому слепое включение всего материала в каждую SO даст вам гротескно раздутый исполняемый файл. Классическая статическая ссылка включает только то, что нужно.

Еще один аспект, о котором следует знать, это создание шаблона C ++. Я предполагаю, что они в основном уже появляются в исполняемом файле (не как часть SO).

0 голосов
/ 22 декабря 2008

Вы можете связать с -static во время компиляции. Вы хотите сделать это после компиляции?

...