随笔分类 - MFC
Microsoft Foundation Class library
摘要:参考资料: http://blog.csdn.net/baodi_z/article/details/1857820 http://blog.csdn.net/cbnotes/article/details/38845069 https://msdn.microsoft.com/en-us/libr
阅读全文
摘要:最近任务需要在MFC下做多线程生产者消费者模式的东西,我找了半天貌似MFC没有类似Java里面BlockingQueue那样的工具(也许是我手残没找到)。 网上好像也有很多大佬去实现这个。但是我没仔细去找,看了看一些资料就想着造个轮子玩玩。 实现如下: 主要是利用CCriticalSection保护
阅读全文
摘要:死锁现象:在训练的时候,点击“终止”按钮时不时会发生死锁。 检测工具:LockCop、TRACE宏、::GetCurrentThreadID函数。 检测手段: 总结起来就是—— 第一步:用LockCop找哪几个线程死锁起来了,因为什么对象死锁的(比如说那些用于线程同步的工具类或者某些要Block的函
阅读全文
摘要:备注:我最近的项目就遇到了这个问题。只用了一个CCriticalSection对象,并且全部都有释放。但还是死活没查出死锁的原因。最后才发现原来是suspend导致的。最终用CEvent替代了suspend和resume才解决。 转自:http://blog.csdn.net/magictong/a
阅读全文
摘要:备注:我上次遇到这个问题是Win32 DLL项目中无意中include了afxwin.h,这个是MFC的头文件,把这个include删掉就解决了 转自:http://ticktick.blog.51cto.com/823160/571350 本文主要分析和解决编译链接时产生的 LNK2005 错误。
阅读全文
摘要:参考资料:http://blog.csdn.net/lujin0312/article/details/42214467 最彻底的解决办法就是把用到opencv的部分做成dll,且这个dll中不出现跟mfc相关的代码,然后mfc单独做到exe中,exe去调用前面所说的那个dll即可
阅读全文
摘要:做 Programming Windows with MFC 2nd 的例子 MyWord 的时候. 发现启动的时候总是报错:Fail to create empty document.搜索了一下.参考:http://bbs.csdn.net/topics/60364077jiangsheng回复于...
阅读全文
摘要:参考:https://msdn.microsoft.com/en-us/library/tz7sxz99.aspxhttp://www.cnblogs.com/taoxu0903/archive/2008/07/25/1251579.html总之, 有了 DEBUG_NEW, 一旦发生内存泄漏, V...
阅读全文
摘要:转自:https://msdn.microsoft.com/en-us/library/eeah46xd.aspxTN062: Message Reflection for Windows ControlsVisual Studio 2015NoteThe following technical n...
阅读全文
摘要:原因: 虽然项目里面包含了DEF文件, 但是尼玛没有配置项目属性让链接器处理它啊!解决方案:项目属性->链接器->输入->模块定义文件->{输入文件名}
阅读全文
摘要:在生成DLL的时候报这个错, 生成不了DLL检查生成DLL的路径是否有其他程序在使用...或者把杀毒软件关了试试...
阅读全文
摘要:比如说你的Dialog有一个Button名为Confirm,对应IDC_CONFIRM,处理程序handler为OnConfirm那么OnConfirm必须是protected属性,如果是public就你会发现这个Button不起作用
阅读全文
摘要:用管理员权限运行OleView.exe即可(Visual Studio Tools\VS20XX开发人员命令提示 -> 用管理员权限运行 -> 输入OleView)http://stackoverflow.com/questions/7621461/dllregisterserver-in-ivie...
阅读全文
摘要:打开资源视图,打开Dialog的编辑界面查看:格式>Tab键顺序修改:格式>Tab键顺序用鼠标左键按你想要的顺序点击各个控件的TAB标签,就设定了那些你想要TAB键能选择到的控件,一定要让该控件>属性>Tabstop>设为TrueTabstop为False的话,TAB键是选择不到控件的(即便它仍然有...
阅读全文
摘要:因为DLL组件不像EXE是程序的入口,所以DLL需要其他进程的调用才能调试。1、首先在DLL项目中你想调试的位置打好断点。2、如果已经有一个进程,比如foo.exe已经启动,那么就用:调试>附加到进程,选择foo.exe即可3、如果你需要启动一个EXE,而且这个EXE是以命令行的形式调用(比如用来注...
阅读全文
摘要:http://blog.csdn.net/aafengyuan/article/details/7988584是这样的,我创建了一个空项目,并通过"项目属性>C/C++>预编译头"把"预编译头"选项设置为"使用(/Yu)",然后手动创建了stdafx.h以及stdafx.cpp但是编译的时候就报C1...
阅读全文
摘要:如果你的Dialog是在资源编辑器里面创建的,那么你首先要去资源编辑器把对应的Button的Default Button选项设置为True另外,如果你使用GotoDlgCtrl,那么记得OnInitDialog必须返回FALSE,详见OnInitDialog的文档:IfOnInitDialogret...
阅读全文
摘要:http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html
阅读全文
摘要:2015-10-22 10:24在第八章学习Aggregation的时候搞晕了,所以就建了一个Workspace名为"COMAggregationDemo"来调试一下,使用的源码是书光盘目录SETUP\CODE\CHAP08\AGGREGATE下载地址:http://pan.baidu.com/s/...
阅读全文
摘要:http://www.cplusplus.com/articles/2z86b7Xj/https://msdn.microsoft.com/en-us/library/h552b3ca.aspxhttps://en.wikipedia.org/wiki/Precompiled_headerhttp:...
阅读全文