Ответ 1
Этот атрибут позволяет видеть видимость ELF и (предположительно) его неопределенные объекты привязки (vtable, typeinfos) для управления отдельно от видимости функций и данных членов типа.
Это позволяет typeinfos и vtable, например, для явного экземпляра шаблонизированного полиморфного типа, который будет расположен централизованно, не заставляя видимость по умолчанию для типов частных статических данных также экспортировать символы для вещей, к которым никто никогда не будет обращаться через границу библиотеки расточительно время выполнения и пространство таблиц символов при работе с разделяемыми библиотеками.