Я хотел бы добавить систему плагина dll к моему c++ приложению.
После прочтения всего, что я смог найти по этой теме, я буду использовать интерфейс класса, который имеет только чистые виртуальные функции и базовые типы данных. Каждая DLL-плагин выводит классы из этого интерфейса и выставляет их с помощью механизма регистрации. Он будет включать механизм уничтожения для обеспечения того, чтобы новые и удаленные для этого класса не вызывались через границу DLL.
Но где мне импортировать и экспортировать интерфейс? Нужно ли мне делать какую-то фиктивную DLL без кода, только экспортируя объявление класса? Или я не могу импортировать/экспортировать класс в любом месте и просто использовать его в качестве заголовка в приложении и плагинах, передавая только указатели на класс между приложением и плагинами?
благодаря
Я предлагаю вам следующий подход:
Надеюсь, это поможет вам.