在 C++ 中使用动态加载重新加载库

use*_*404 6 c++ dynamic-loading dlopen

如果我在 C++ 中使用动态加载打开一个库,我以后可以重新加载该库的更新版本吗?我会自己测试一下,但在我开始研究它作为我正在研究的事情的潜在解决方案之前,我很好奇它的可行性。

以防万一,我在 Linux 上运行。能够使其在其他操作系统上运行会很好,但这不是必需的。

小智 3

从技术上讲,你肯定可以 \xe2\x80\x94 没有什么可以阻止你这样做。这就是dlopen()/dlclose()在用户空间中的工作方式。这也是内核加载和卸载动态模块等的方式。但在实践中,编写得不好的共享对象或主机程序可能会带来灾难性的副作用,从而渲染进程(或内核,如果您正在谈论内核模块)无法使用。

\n