Бих искал да добавя dll плъгин система към моето c++ приложение.
След като прочетох всичко, което можах да намеря по темата, ще използвам интерфейс на клас, който има само чисти виртуални функции и основни типове данни. Всяка DLL плъгин ще извлече класове от този интерфейс и ще ги изложи с механизъм за регистрация. Той ще включва механизъм за унищожаване, за да се гарантира, че new и delete за този клас не се извикват през границата на DLL.
Но къде трябва да импортирам и експортирам интерфейса? Трябва ли да направя един вид фиктивен DLL без код, само експортиращ декларацията на класа? Или мога да не импортирам/експортирам класа никъде и просто да го използвам като заглавка както в приложението, така и в добавките, като предавам само указатели към класа между приложението и добавките?
Благодаря