Динамически создавать функции экспорта DLL без участия препроцессора в MSVC 2015?
Можно ли динамически создавать __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. Это фиксированный интерфейс (и довольно сложный тоже) с жестко запрограммированными и ожидаемыми именами функций приложением для общих обратных вызовов. Существует только тот конкретный обратный вызов, который ожидает, что некоторые имена функций будут вызывать циклы измерения, что уместно здесь.