在Linux上,我从一个定义全局变量的静态库中生成了一些C++代码.此全局变量的单个实例在引用其符号的两个共享库之间共享.
当进程关闭并运行静态终止阶段时,我看到此共享实例上的析构函数运行了两次!据推测每个库卸载一次.
这个问题与我最近在这里看到的另一个问题密切相关:相关问题.这听起来像是相同的行为,但没有讨论它为什么会发生.
有谁知道这种行为背后的理论解释?
c++ linux destructor global-variables shared-libraries
c++ ×1
destructor ×1
global-variables ×1
linux ×1
shared-libraries ×1