【发布时间】:2012-01-02 10:47:20
【问题描述】:
我正在使用一个指向由一个 DLL 初始化的链表的全局指针(其中包含指向元素的指针和指向下一个节点的指针)。此全局变量在不同的 DLL(共享对象)之间共享。
在系统提出全局列表之前,它会被初始化,并且所有 DLL 都具有该列表的值。稍后,当系统运行一个 DLL(比如 x.so)时,删除了内存并重新初始化了整个列表,而当另一个 DLL(比如 y.so)尝试读取值时,它总是获取旧值。任何线索为什么会发生这种情况以及如何解决这个问题?
我在某处读到堆区域是跨 DLL 共享的,但我不确定我为什么会遇到这个问题。任何帮助都将不胜感激。
【问题讨论】: