Как стать автором
Обновить

Комментарии 3

Совет хороший! Но только для динамических библиотек. Динамика линкуется полностью, поэтому разработчик библиотеки полностью контролирует символы, а вот статика архивом куда-то улетит, с чем-то слинкуется - и описанные конфликты более чем вероятны, а доступна только частичная линковка и только под elf форматы. В моей практике часто просят статику, и приходится предусматривать вот такие сюрпризы.

В общем и целом получается, что необходимо изначально думать о том, какие функции вылезут наружу, ещё на стадии проектирования. И если для динамических библиотек есть чёткое решение с version script (которым несмотря на его наличие пользуется не только лишь каждый), для статических придётся пользоваться разнообразными комбинациями маленьких хитростей в духе мистера Бина: static, inline, анонимные неймспейсы, дичайшие префиксы. Ещё только придумывая функцию, надо будет назначать ей степень спрятанности и действовать соответственно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории