DLL中使用的全局变量

Global variables used in DLL

本文关键字:全局变量 DLL      更新时间:2023-10-16

我有一个DLL,它包含两个导出的函数Function1和Function2,它们将访问DLL中定义的全局变量。

现在如果:

  1. 在我的应用程序MyApp.exe中,我将显式或隐式加载DLL。

  2. 然后,MyApp.exe将调用Function1,在DLL的全局变量中保存一些数据。

  3. 然后MyApp.exe将提示用户执行一些任务。在此期间,DLL中的全局变量是否仍保留在内存中,或者是否会因为Function1完成而卸载DLL?

  4. 然后MyApp.exe将调用Function2,它将使用步骤2中Function1保存在全局变量中的数据,所以我希望这些数据仍然可用。

  5. 然后MyApp.exe将卸载DLL。

所以,我的问题是,如果一个DLL函数完成了,它保存在DLL全局变量中的数据是否仍然存在于内存中,并可供将来使用?

感谢

简单的答案是:如果你没有卸载dll,那么全局变量应该仍然存在。