这个问题 有些冷门,问了很久,没有正面答案。谢绝复制粘贴!
在李久进 老师,和王艳萍老师的书都提到过 mfc的三大状态(还有其他):线程状态模块状态(这里的模块非 某个功能模块的“模块”)模块-线程状态问题1:曾经发过一个帖子,讨论 一个mfc的程序 有多少个模块状态,为什么要引入模块-线程状态 2个问题。这个问题没有解决.  问这个问题,是因为看书被卡出了。 而且mfc自己封装的线程类 却使用了这些概念。所以想深入了解一下。
今天在 导出一个规则dll(非类成员函数作为导出函数,功能:创建对话框,该函数内部,new, create一个对话框)的时候,对曾经的问题有了新的疑问 或感受“模块资源状态,(网上所谓的 模块切换,否则对于同名资源id ,使用的时候是exe,非dll里的资源)模块资源状态需要切换,那么dll本身作为一个 模块(mfc程序 加载它,那么 其就成了mfc程序的一个模块),
问题2:为什么 dll却不需要 进行模块切换呢?
假设: mfc程序只有一个线程,此时 线程状态只有一个, 模块却有多个,我们自己开发的dll,还有 windows提供的dll. 同一个模块可能被不同的程序使用,每个程序有一个主线程(非多线程程序),某一个模块可能某个时刻被A线程使用,亦可能被其他程序的B线程使用。所以有了第三个模块:模块----线程状态。这个是我自己感悟的,不对的请跟正。三个问题 我都用颜色标志出来了。希望高手相助。谢谢了