История изменений
Исправление intelfx, (текущая версия) :
Вот прямо так?
А из чего вообще состоят private-данные разделяемых библиотек? .data+.bss, ещё что?
Если больше ничего, то вынужден усомниться в том, что «50% библиотеки = 50% приватной части». .data+.bss — это глобальные переменные и статические переменные, выполняющие роль разных кэшей. По опыту разработки — такие вещи чаще встречаются в кишках библиотек, во внутренних функциях, которые достижимы почти из всех точек входа в библиотеку. Поэтому выкидывание половины текста при статической линковке не приведёт к выкидыванию половины глобальных данных. Даже в том случае, если у нас шибко умный компоновщик, который построит граф достижимости, порежет мёртвый код и так далее.
Исправление intelfx, :
Вот прямо так?
А из чего вообще состоят private-данные разделяемых библиотек? .data+.bss, ещё что?
Если больше ничего, то вынужден усомниться в том, что «50% библиотеки = 50% приватной части». .data+.bss — это глобальные переменные и статические переменные, выполняющие роль разных кэшей. По опыту разработки — такие вещи чаще встречаются в кишках библиотек, во внутренних функциях, которые достижимы почти из всех точек входа в библиотеку. Поэтому выкидывание половины текста при статической линковке не приведёт к выкидыванию половины глобальных данных. Даже в том случае, если у нас шибко умный компоновщик, который построит граф достижимости, выкинет мёртвый код и так далее.
Исправление intelfx, :
Вот прямо так?
А из чего вообще состоят private-данные разделяемых библиотек? .data+.bss, ещё что?
Если больше ничего, то вынужден усомниться в том, что «50% библиотеки = 50% приватной части». .data+.bss — это глобальные переменные и статические переменные, выполняющие роль разных кэшей. По опыту разработки — такие вещи чаще встречаются в кишках библиотек, во внутренних функциях, которые достижимы почти из всех точек входа в библиотеку. Поэтому выкидывание даже половины текста при статической линковке не приведёт к выкидыванию половины глобальных данных. Даже в том случае, если у нас шибко умный компоновщик, который построит граф достижимости, выкинет мёртвый код и так далее.
Исправление intelfx, :
Вот прямо так?
А из чего вообще состоят private-данные разделяемых библиотек? .data+.bss, ещё что?
Если больше ничего, то вынужден усомниться в том, что «50% библиотеки = 50% приватной части». .data+.bss — это глобальные переменные и статические переменные, выполняющие роль разных кэшей. По опыту разработки — такие вещи чаще встречаются в дебрях библиотек, во внутренних функциях, которые достижимы почти из всех точек входа в библиотеку. Поэтому выкидывание даже половины текста при статической линковке не приведёт к выкидыванию половины глобальных данных. Даже в том случае, если у нас шибко умный компоновщик, который построит граф достижимости, выкинет мёртвый код и так далее.
Исходная версия intelfx, :
Вот прямо так?
А из чего вообще состоят private-данные разделяемых библиотек? .data+.bss, ещё что?