博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年10月25日

摘要: 今天了解到DirectUI开源项目Duilib,感觉不错,就下了一份源代码SVN256,可能是因为我用的是win8 x64和VS2012,编译是出现错误,现在把解决方法记录下来,供大家参考: 1. UIRichedEidt.cpp中CTxtWinHost::Init函数中调用了Riched20.dll中的CreateTextServices函数,但是源工程中是静态链接Riched20.dll,在工... 阅读全文

posted @ 2012-10-25 23:24 yuanzfy 阅读(3073) 评论(1) 推荐(0) 编辑

2012年6月21日

摘要: 使用GDI+可以方便的把OpenCV的图像矩阵类型数据显示在MFC的窗口中 void BitMatToWnd(CWnd* wnd, cv::Mat img, CRect *Roi){ if(img.empty()) return; CDC *cdc = wnd->GetDC(); CDC MemDC;//首先定义一个显示设备对象 CBitmap MemBi... 阅读全文

posted @ 2012-06-21 16:43 yuanzfy 阅读(4271) 评论(0) 推荐(0) 编辑

摘要: MFC双缓冲绘图: CDC *cdc = this->GetDC();CDC MemDC; //首先定义一个显示设备对象CBitmap MemBitmap;//定义一个位图对象CRect rect;this->GetClientRect(rect);MemDC.CreateCompatibleDC(NULL);//随后建立与屏幕显示兼容的内存显示设备//下面建立一个与屏幕显示兼容的位图,至于位图... 阅读全文

posted @ 2012-06-21 16:13 yuanzfy 阅读(3773) 评论(0) 推荐(0) 编辑

2011年11月23日

摘要: 1. 重定向 0:重定向输入<。1:重定向输出>。2:重定向错误输出2> >>和2>>将输出追加到文件末尾不会覆盖文件内容 2. 管道 |前面命令的输出当作后面命令的输入参数:cat test.txt | sort | more. 3. more $(grep –l bin *) 和 grep –l bin * | more 这两个输出是不一样的,第一个输出的是grep得到的文件的内容,第... 阅读全文

posted @ 2011-11-23 13:22 yuanzfy 阅读(252) 评论(0) 推荐(0) 编辑

2011年10月25日

摘要: const int dims = 3; int size[] = {3, 3, 3}; SparseMat mm(dims, size, CV_32F); int idx[dims] = {1,1,1}; mm.ref<float>(idx) += 1.0f; idx[1] = 0; mm.ref<float>(idx) += 1.0f;//添加元素或修改元素 SparseMatConstIte... 阅读全文

posted @ 2011-10-25 14:04 yuanzfy 阅读(641) 评论(0) 推荐(0) 编辑

2011年8月26日

摘要: 这两个类对Winsock API进行了封装,CAsyncSocket是一个异步非阻塞套接字类,CSocket是继承于CAsyncSocket的同步阻塞套接字类。使用这两个类编程无需自己处理Winsock的I/O模型。 CAsyncSocket类提供的唯一抽象就是将与套接字相连的windows消息以回调函数的形式完成,在创建程序时只需要重载这几个函数就可以实现Winsock的I/O操作。 异步模型效... 阅读全文

posted @ 2011-08-26 22:54 yuanzfy 阅读(2005) 评论(0) 推荐(0) 编辑

摘要: 转自百度贴吧:http://tieba.baidu.com/f?kz=744710593,写得很详细,有些没看懂,留着慢慢看。 MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocke... 阅读全文

posted @ 2011-08-26 21:40 yuanzfy 阅读(610) 评论(0) 推荐(1) 编辑

摘要: 事件 事件是用来同步地位不相等的线程的,事件可以用来使一个线程完成一件事情,然后另外的线程完成剩下的事情。事件的使用很灵活,自动事件的激发态是由人工来控制的,而Mutex在释放(releaseMetux)后就一直处于激发态,直到线程WaitForSingleObject。事件可以用来控制经典的读写模型和生产者和消费者模型。相应的方式为,生成者等待消费者的消费,再消费者消费完后通知生产者进行生产。 Mutex Mutex是排他的占有资源,一般用于地位相等的现在进行同步,每个线程都可以排他的访问一个资源或代码段,不存在哪个线程对资源访问存在优先次序。一个线程只能在Mutex处于激发态的时候访问被保 阅读全文

posted @ 2011-08-26 13:11 yuanzfy 阅读(1456) 评论(0) 推荐(0) 编辑

2011年8月25日

摘要: Winsock I/O模型有两种模式:阻塞和非阻塞。 阻塞模式下,在I/O操作完成之前,会一直等待下去,效率很低。 非阻塞模式下,要一直检测WSAEWOULDBLOCK错误。 为了提高效率和编程的方便,Winsock提供了几种I/O模型:select、WSAAsyncSelect、WSAEventSelect。 select select是一个阻塞I/O模型,用于等待一个套接字集合,直到某些套接字... 阅读全文

posted @ 2011-08-25 22:39 yuanzfy 阅读(328) 评论(0) 推荐(0) 编辑

2011年8月24日

摘要: 三种实现方式 CreateThread是Windows API库,而_beginthreadex是多线程运行时库(Multi-Threads C Runtime)。创建成功时都返回新建线程句柄。 uintptr_t _beginthread(void( __cdecl *start_address )( void * ),unsigned stack_size,void *arglist);uin... 阅读全文

posted @ 2011-08-24 20:38 yuanzfy 阅读(6216) 评论(0) 推荐(1) 编辑