Win64采用的是LLP64数据模式,也就是说数据类型,如int、long仍然是32位的,而地址为64位。这样做,代码移植的工作比较少,通常可以使用同一个代码产生32位或64位的程序。但是有些数据类型需要注意,例如LPARAM,由于经常利用该参数传递地址,所以该类型是按照指针来处理的,也就是说是64位的。如果你经常写下面这样的函数段:
SendMessage(..., , , (LONG)lpText);
在32位下,不会出现问题,而在64位下就错了。所以编译时最好加上/Wp64的选项。这样会得到一些警告,可以有效地帮助找到程序中的错误。