Если я открою библиотеку с использованием динамической загрузки в C ++, могу ли я позже перезагрузить обновленную версию этой же библиотеки? Я бы проверил это сам, но мне любопытно, насколько это возможно, прежде чем я начну рассматривать это как потенциальное решение того, над чем я работаю.
В случае, если это имеет значение, я работаю на Linux. Возможность заставить его работать на других операционных системах была бы хороша, но не обязательна.
Говоря технически, вы наверняка можете — ничто не мешает вам сделать это. Вот как dlopen()/dlclose()
работа в пространстве пользователя. Это также то, как ядра загружают и выгружают динамические модули и т. Д. На практике, однако, плохо написанный общий объект или хост-программа могут привести к катастрофическим побочным эффектам, отрисовывающим процесс (или ядро, если вы говорите о модуле ядра) непригодным для использования.
Других решений пока нет …