LINUX.ORG.RU

История изменений

Исправление 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, ещё что?