标签: c++ module dlopen
Folks,假设以下代码段:
struct some_type st[] = { "foo", "bar", //more stuff... };
实际的结构比这复杂一点,但我不重要。
此代码是模块的一部分,加载dlopen(RTLD_LAZY作为唯一标记)。首次加载此模块时,一切都很好,并且结构已经成功填充。但是,当我卸载此模块(使用dlclose)并再次加载时,此结构将显示为空。它设置在全球范围内。
dlopen
RTLD_LAZY
dlclose
如何在重新加载模块后重新填充?