Я разрабатываю простое моделирование логического зараclass Gate {
public:
explicit Gate();
virtual ~Gate() = default;
virtual void update() = 0;
};
< /code>
Это означает, что каждый тип затвора, например, и Gate может реализовать класс Gate и реализовать логику для этого Gate внутри метода обновления. Эти объекты затвора затем соединены контактами и образуют график. Когда возникают обновления в воротах, все детские ворота рекурсивно обновляются. Пока все хорошо. Теперь у меня есть проблемы, касающиеся совместимости ABI. Однако как это должно работать с моей реализацией Gate? Мой плагин должен был бы реализовать класс Gate и реализовать метод обновления, который в порядке, так как класс виртуальных ворот находится внутри файла заголовка, как плагин, так и основное приложение имеют доступ. Но я не могу поделиться экземплярами индивидуальной реализации Gate из плагина с основным приложением, так как это объект C ++, и он сломал бы ABI. < /P>
В конце концов это общая проблема. Что если я хочу, чтобы плагины могли внедрять классы для определения пользовательского поведения, сохраняя при этом интерфейс между плагином и основным приложением ABI совместимо
Как мне подходить?
Подробнее здесь: https://stackoverflow.com/questions/797 ... -libraries
C ++ полиморфизм по границам в общих библиотеках ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение