c ++ устанавливает различную видимость символов для разных пользователей - PullRequest
1 голос
/ 10 июля 2020

Я пишу c ++ lib, скажем mylib. Для большинства пользователей видимость символов требуется только для нескольких API-интерфейсов publi c. Я выпускаю mylib через библиотеку .so Dynami c. Но у меня есть другое репозиторий кода, скажем mylib_builder, который строит объекты в mylib и сериализует эти объекты на диск. mylib_builder требует большей видимости символов, поскольку ему может потребоваться доступ к некоторым очень внутренним объектам в mylib.

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

Проблема в том, что обычные пользователи и mylib имеют разные требования к видимости символов, как я могу этого добиться? Или, может быть, разделение mylib и mylib_builder не является хорошей практикой?

...