现在的位置: 首页 > 综合 > 正文

移植到x64(包括AMD64和EM64T)应该注意的问题

2012年08月29日 ⁄ 综合 ⁄ 共 267字 ⁄ 字号 评论关闭
Win64采用的是LLP64数据模式,也就是说数据类型,如int、long仍然是32位的,而地址为64位。这样做,代码移植的工作比较少,通常可以使用同一个代码产生32位或64位的程序。但是有些数据类型需要注意,例如LPARAM,由于经常利用该参数传递地址,所以该类型是按照指针来处理的,也就是说是64位的。如果你经常写下面这样的函数段:

SendMessage(..., , , (LONG)lpText);

在32位下,不会出现问题,而在64位下就错了。所以编译时最好加上/Wp64的选项。这样会得到一些警告,可以有效地帮助找到程序中的错误。

抱歉!评论已关闭.