Связывание двух объектов .so с одинаковым определением имен классов (компиляция завершена) - PullRequest
1 голос
/ 16 декабря 2010

Привет! Я пытаюсь связать две библиотеки .so, которые имеют одинаковое определение класса и взаимодействуют друг с другом. Я приказываю избежать конфликта имен классов во время компиляции. Я помещаю их в отдельную оболочку.

IЯ могу скомпилировать его правильно, но я сомневаюсь, что это надежное решение?или я могу увидеть какую-то ошибку во время симуляции из-за противоречивых определений имени класса?

заранее спасибо ..

1 Ответ

1 голос
/ 16 декабря 2010

Если у вас есть классы с одинаковыми именами, то, вероятно, у вас плохой дизайн. Как вы ожидаете, что ваш код скажет, что есть что? Если вам придется использовать их обоих, вы обречены. Если это наименование имеет смысл в разных контекстах, вы должны поместить свои классы в отдельные пространства имен. C ++ будет включать имя пространства имен, когда символы класса будут искажены, поэтому с этим у вас не будет никакого конфликта.

...