Уменьшение размера диска динамических библиотек c, если между ними распределяется код - PullRequest
0 голосов
/ 11 февраля 2020

Мое приложение C ++ загружает две динамические c библиотеки libdy1.so и libdy2.so. Я знаю, что библиотеки libdy1.so и libdy2.so имеют много общего кода. Поскольку эти библиотеки используются только моим приложением, я думаю, как уменьшить размер диска этих библиотек, поскольку они должны получать общие символы из-за общей базы кода. Поэтому во время создания библиотеки я могу избежать размещения символа в библиотеке libdy2.so или наоборот, если он уже присутствует в другой библиотеке. Нечто подобное возможно?

1 Ответ

1 голос
/ 11 февраля 2020

Итак, во время создания библиотеки я могу избежать помещения символа в библиотеку libdy2.so или наоборот, если он уже присутствует в другой библиотеке

Да, динамически связывая одну библиотеку с другой. Зависимому не нужны символы, которые он находит у зависимого лица.

Если вы не хотите, чтобы одна библиотека полностью зависела от другой, вы можете вместо этого разделить общие части на третью библиотеку, и сделать обе библиотеки зависимыми от общей.

...