_WIN64未在x64项目中定义

时间:2012-08-13 05:25:52

标签: c++ api winapi 64-bit

我正在使用VS2008,项目属性设置为(活动)x64

奇怪的是_WIN64没有定义,WPARAM和LPARAM仍然是32位。

我应该手动定义_WIN64吗?

如果是这样,我应该在哪里放#define _WIN64?预处理器设置似乎不起作用。

我很确定它被编译为x64,因为在任务管理器中exe没有* 32后缀。

2 个答案:

答案 0 :(得分:4)

事情是,

_WIN64已由编译器定义,但IDE无法识别它。 (似乎在VS2010中已修复。)

sizeof(WPARAM)和sizeof(LPARAM)的值均为8(不是4)

IDE将* ifdef _WIN64 *中的代码显示为灰色,就像它们处于非活动状态一样,但不是。

http://bugs.python.org/issue1558

答案 1 :(得分:2)

根据Microsoft的说法,在VS2008中,您应该自己在预处理器定义中设置它 - 包括调试和发布版本 - 看看here