现象:

ASSERT(AfxGetThread() == NULL);

 找到源码位置:

ASSERT(AfxGetThread() == NULL);

 感觉是线程之类的的东西没有初始化,查了一些资料说缺少_USRDLL宏,问题解决了,但不知道为什么。

ASSERT(AfxGetThread() == NULL);

先参考这个宏是干什么的:_USRDLL _AFXDLL _WINDLL 三种dll编译宏的具体含义

接下来发现没有加_USRDLL宏是不会执行CWinApp::InitInstance();这一句。

ASSERT(AfxGetThread() == NULL);

综上:(1)结论就是Windows里的编程需要一系列的初始化(尽管我们新手们不知道初始化做了什么);

           (2)不同的DLL工程 选择对应的宏。

 

相关文章:

  • 2022-12-23
  • 2022-02-15
  • 2021-12-23
  • 2021-12-08
  • 2022-01-27
  • 2022-02-18
猜你喜欢
  • 2021-09-25
  • 2022-12-23
  • 2022-01-29
  • 2021-12-08
  • 2022-12-23
相关资源
相似解决方案