Windows编程
Unimen
享受编程,挑战自我!
展开
-
windows下的makefile教程
<br />关于NMAKE<br /> Microsoft Program MaintenanceUtility,外号NMAKE,顾名思义,是用来管理程序的工具。其实说白了,就是一个解释程序。它处理一种叫做makefile的文件(以mak为后缀),解释里面的语句并执行相应的指令。我们编写makefile文件,按照规定的语法描述文件之间的依赖关系,以及与该依赖关系相关联的一系列操作。然后在调用NMAKE时,它会检查所有相关的文件,如果目标文件(target file,下文简称target,即转载 2010-09-21 22:24:00 · 657 阅读 · 0 评论 -
DEBUG_NEW
在生成的代码里经常看到如下代码:#ifdef _DEBUG#undef THIS_FILE //取消定义static char THIS_FILE[]=__FILE__; //将文件名放到THIS_FILE中#define new DEBUG_NEW原创 2011-08-11 18:20:43 · 771 阅读 · 0 评论 -
进程间通讯
在Windows下各个任务是以不同的进程来完成的,当一个进程启动后,操作系统为其分配了4GB的私有地址空间,由于位于同一个进程中的线程共享同一个地址空间,所以线程间的通信很简单,就像两个人如果在同一个房间里说话的话就比较容易,只要动动嘴皮子就OK了, 但是如果在两个国家里就比较麻转载 2011-09-15 19:08:41 · 664 阅读 · 0 评论 -
打开“打开目录”对话框
BROWSEINFO bBinfo; memset(&bBinfo,0,sizeof(BROWSEINFO)); //定义结构并初始化 bBinfo.hwndOwner=m_hWnd; //设置对话框所有者句柄 bBinfo.l原创 2011-09-17 12:25:17 · 649 阅读 · 0 评论 -
线程同步之semaphore
对于信号量的理解这里有份比较好的解释,摘自百度知道信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。信号量的概念 Semaphore分为单值和多值两种,前者只能被一个线原创 2011-08-26 21:52:41 · 538 阅读 · 0 评论 -
创建线程后为什么马上调用CloseHandle()来关闭句柄
hThread = CreateThread( NULL, 0, ThreadFunc, NULL, 0, &dwThreadId);CloseHandle(hThread);如上面这样的代码,原因为:创建线程后返回了线程句柄,新创建的线程内核对象的使用计数是2,一个是线原创 2011-08-29 17:04:50 · 1393 阅读 · 2 评论 -
C Runtime Library来历, API, MFC, ATL关系
CRT原先是指Microsoft开发的C Runtime Library,用于操作系统的开发及运行。后来在此基础上开发了C++ Runtime Library,所以现在CRT是指Microsoft开发的C/C++ Runtime Library。在VC的CRT/SRC目录下,可以转载 2011-08-31 12:18:22 · 510 阅读 · 0 评论 -
各个线程给主线程发消息避免锁的使用
在开的各个线程中给主线程发送消息,这样所有线程的后期处理工作都归到主线程中,这样避免了锁的使用,在windows中可以使用sendmessage,android中可以使用handler的sendmessage。但注意如果传给的主线程后还需要执行耗时操作的话,也会发生卡UI的情况原创 2012-03-09 01:21:47 · 954 阅读 · 0 评论