ASSERT(AfxGetThread() == NULL);
现象:
找到源码位置:
感觉是线程之类的的东西没有初始化,查了一些资料说缺少_USRDLL宏,问题解决了,但不知道为什么。
先参考这个宏是干什么的:_USRDLL _AFXDLL _WINDLL 三种dll编译宏的具体含义
接下来发现没有加_USRDLL宏是不会执行CWinApp::InitInstance();这一句。
综上:(1)结论就是Windows里的编程需要一系列的初始化(尽管我们新手们不知道初始化做了什么);
(2)不同的DLL工程 选择对应的宏。