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

0 ответов

Другие вопросы по тегам