
Win32 和 C
chpdirector84
这个作者很懒,什么都没留下…
展开
-
线程等待 WaitFor...
一:BOOL GetExitCodeThread(HANDLE hThread, LPDWORD lpExitCode);该函数可以决定一个线程是否还在执行,只要不断的检测返回值就可以判断线程是否结束。但是不断的检测会浪费CPU事件。常说的busy loop就是这种现象。二:DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMill原创 2009-08-26 21:47:00 · 3767 阅读 · 0 评论 -
文件操作
一:定义保存文件记录的结构体 #pragma pack(push,1) //定义学生基本信息结构 typedef struct _CStudentData { TCHAR xsbh[7]; //学生编号 TCHAR xsxm[21]; //学生姓名 TCHAR xb[3]; //学生性别原创 2009-09-01 14:03:00 · 603 阅读 · 0 评论 -
字节对齐
一:通过#pragma pack(n)改变C编译器的字节对齐方式,在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等) 的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空 间。 struct mystruct1{ char转载 2009-09-01 14:06:00 · 522 阅读 · 0 评论 -
线程同步
一:Critiacal_Section1:使用临界区的目的是确保资源每次只能被一个线程所使用。一个线程进入某个临界区,另一个线程就不能够再进入同一个临界区。临界区不是核心对象,它只存在进程的内存空间。没有所谓的句柄,只能在同一进程中的线程间完成同步。2:使用函数 VOID InitializeCriticalSection(LPCRITICAL_SECTION lpCri原创 2009-08-30 21:11:00 · 647 阅读 · 0 评论 -
UDP编程
一: socket编程中的几种地址 Socket编程会遇到三种地址, 都是定义的结构体(struct): Struct in_addr { Unsigned int s_addr; } 这是一个IPv4地址,在IPv4的报文中,源地址和目的地址用32bit表示。通常定义在netinet/in.h中。 Stru转载 2009-09-01 15:38:00 · 12710 阅读 · 0 评论 -
TCPIP编程
一:Winsock编程流程1:对于任何基于Winsock的编程首先我们必须要初始化Winsock DLL库。 int WSAStarup( WORD wVersionRequested , LPWSADATA lpWsAData )wVersionRequested是我们要求使用的Winsock的版本。 调用这个接口函数可以帮我们初始化Winsock。2:然后我转载 2009-09-01 17:16:00 · 5076 阅读 · 0 评论