Одна проблема заключается в том, как заставить хост-приложение перезапускать / перезагружать плагины, и как заставить его заменить вашу DLL другой.
В Windows (предполагается, что Windows, так как вы сказали DLL), вывозникли проблемы, поскольку вы не можете заменить исполняемый образ (включая DLL) другим, пока он загружен в память.В POSIX это не будет проблемой (и даже надежно работает без каких-либо побочных эффектов!), Но Windows заблокирует образ для монопольного доступа.
Поэтому у вас нет другого выбора, кроме как сначала выгружать DLL, затем замените его и загрузите снова.Это можно сделать так, как вы описали.
Одна альтернатива, если хост-приложение позволяет это, - написать второй независимый плагин, который сообщает приложению о необходимости выгрузки для обновления.один, затем обновляет его, а затем говорит хост-приложению перегрузить его.