如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
Will static map(variables) be freed multiple times if the static library which contains the map is linked with executable and dynamic library?
我们有一个在静态库中定义的静态映射。
此静态库链接到动态库。
可执行文件链接静态库以及上述动态库。
两个问题?
a( 静态库代码是否重复?
b( 静态库中定义的静态映射是否会有多个副本?(这会导致在可执行文件退出时崩溃吗(
静态库在编译时链接,而动态库在运行时链接。也就是说,每段编译的代码都必须包含静态库 - 有问题的库将静态链接到.exe和.dll。
也就是说,编译 DLL 时,它会接收自己的链接和相关静态库的副本。使用静态库的可执行文件在编译时也会接收自己的静态库副本。
因此,.dll 和 .exe 都将运行自己单独的静态库实例。因此,在.exe中使用静态库创建的任何变量都将独立于.dll中创建的变量,并且不会释放,因为两个副本不会交互。
相关文章:
- 初始化之前使用的静态映射
- 值和类型的简洁双向静态 1:1 映射
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 线程时访问静态映射时出现隔离错误
- 具有不同参数列表的模板对象的模板静态映射
- 静态映射超出堆栈
- C++ 已停止工作静态映射函数
- 我们如何在模板类中使用静态映射,模板类的每个实例化都应该使用相同的映射
- 如何从 C++ 中的单独类访问静态映射?
- 在 C++ 中使用静态映射的奇怪问题
- C++初始化对象的静态映射
- 使用静态映射在C++中缓存数据的推荐方法是什么
- C++中的静态映射
- 静态映射中动态分配的对象.删除必要的
- 静态映射初始化
- (VS2015)正在尝试用初始值设定项列表中的数据填充静态映射
- C++模板静态映射初始化
- 检查 C++ 中的空静态映射变量
- 静态映射为C++中的类成员
- 在不同函数内的类中使用静态映射: