【发布时间】:2011-02-09 23:00:23
【问题描述】:
首先,我知道全局变量是邪恶的 :) 但是,我需要使用一个是有正当理由的。
我知道在 DllMain 中可以执行的内容有非常严格的限制(没有 LoadLibraries,没有 COM 初始化等等)。
而且我知道全局变量是在 DllMain DLL_PROCESS_ATTACH 之前初始化的。
在全局变量初始化时我有同样的限制吗?
我找到了微软文章:http://msdn.microsoft.com/en-us/library/988ye33t 但是,它没有任何与限制相关的详细信息。
我还看到了另一个 Stackoverflow 问题:What happens to global variables declared in a DLL? 这里是来自那里的 sn-p “在 DllMain 中有些事情是被禁止的。那些事情在构造函数中也是可能被禁止的。”
但是,评论者似乎不确定这些限制是否真的存在。
我将不胜感激有关此主题的任何信息。
【问题讨论】: