HLOCAL 初探

首先看一段程序,输出的结果为两个相同的整数(这两个整数是内存地址)。

#include "stdafx.h"  
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
HLOCAL h = NULL;
int *a = (int*)malloc(sizeof(int));
h = a;
*a = 3;
printf("%d %d/n",a,h);
return 0;
}
  1. #include "stdafx.h"
  2. #include <windows.h>
  3. int _tmain(int argc, _TCHAR* argv[])
  4. {
  5. HLOCAL h = NULL;
  6. int *a = (int*)malloc(sizeof(int));
  7. h = a;
  8. *a = 3;
  9. printf("%d %d/n",a,h);
  10. return 0;
  11. }

今天读《Windows核心编程》遇到了HLOCAL这个变量,


// 在WinDef.h中发现

typedef HANDLE HLOCAL;

// 在WinNt.h中发现

typedef void *HANDLE;

原来HANDLE和HLOCAL就是void*。

MSDN上的解释为:Handle to a local memory block. 直译是:一个局部的内存块。额,看typedef的这些定义,发现就是指向一块内存区域的指针。

上一篇:git 常用的命令总结


下一篇:NAS (Network Attached Storage)