0

我一直在阅读当您为共享库进行一些初始化时会发生什么。这个概念很好,但我不清楚内存是如何分配的以及它在程序中的范围。

以在堆栈或堆上的 DLLMain(无论是 process_attach 还是 thread_attach)中创建一个整数为例。该整数是在程序的全局范围内还是在其他地方?例如,如果我在 DLLMain 中新建一个整数,它是否可以在程序中全局访问,或者只是专门针对 main 或其他一些奇怪的情况?如果它可以在全局范围内访问,这是否意味着所有线程也可以访问该内存?

谢谢你的帮助。

4

1 回答 1

0

任何知道其地址的线程都可以访问它。所有线程都具有相同的虚拟内存视图。它来自什么分配器并不重要,因为一旦它被映射到虚拟内存中,所有内存的行为都是一样的。

于 2012-09-27T17:39:24.983 回答