Подводные камни передачи объект класса asio::io_context в динамическую библиотеку

Рейтинг: 1Ответов: 0Опубликовано: 28.07.2023

Есть приложение с плагинами.

Приложение создает asio::io_context и передает его в плагины при их инициализации.

В приложении:

asio::io_context ctx; // Уничтожается только при выходе из приложения

//...

auto plugins = LoadPlugins(); // Load DLL-s

for(auto p: plugins)
{
   p->Init(&ctx); // Send CTX object from APP into DLL
}

Где то в плагине

ctx->SomeMethod(...); // use object from APP in DLL

При этом ctx->SomeMethod может быть шаблонным.

UPD: вопрос можно обобщить на передачу любых сложных объектов(std::string, например) через границу application <-> dll

Какие подводные камни есть в подобном подходе?

Ответы

Ответов пока нет.