Можно ли динамически создавать __declspec(dllexport)
работает без участия препроцессора в MSVC 2015?
Я создаю DLL Плагин-создание инструментарий для некоторого программного обеспечения для измерения и хочу сделать позже клиент-программист возможность добавить какие-то «дополнительные функции» в плагин в DllMain
Например:
// Create a new instance of the custom driver
MyPluginDriver *myPluginDriver = new MyPluginDriver();
// Assign it to the core DLL
pluginCore.addDriver(myPluginDriver);
Для каждого из этого addDriver
вызовы, DLL позже должна предоставить функцию обратного вызова, имя которой может быть свободно выбрано. Основное приложение ожидает, что имена этих функций передаются по запросу в другом обратном вызове.
Итак, что было бы «лучшей практикой» для создания тех, extern "C"
функционирует динамически без #define
и прочее?
Может быть какой-то лямбда путь?
РЕДАКТИРОВАТЬ:
Я думаю, что забыл упомянуть, что это коммерчески доступное программное обеспечение для измерений, для которого я пишу этот PDK. Это фиксированный интерфейс (и довольно сложный тоже) жестко закодированных и ожидаемых имен функций приложением для общих обратных вызовов. Существует только тот конкретный обратный вызов, который ожидает, что некоторые имена функций будут вызывать циклы измерения, что уместно здесь.
Задача ещё не решена.
Других решений пока нет …