我正在使用VS2008,项目属性设置为(活动)x64
奇怪的是_WIN64没有定义,WPARAM和LPARAM仍然是32位。
我应该手动定义_WIN64吗?
如果是这样,我应该在哪里放#define _WIN64?预处理器设置似乎不起作用。
我很确定它被编译为x64,因为在任务管理器中exe没有* 32后缀。
答案 0 :(得分:4)
事情是,
_WIN64已由编译器定义,但IDE无法识别它。 (似乎在VS2010中已修复。)
sizeof(WPARAM)和sizeof(LPARAM)的值均为8(不是4)
IDE将* ifdef _WIN64 *中的代码显示为灰色,就像它们处于非活动状态一样,但不是。
答案 1 :(得分:2)
根据Microsoft的说法,在VS2008中,您应该自己在预处理器定义中设置它 - 包括调试和发布版本 - 看看here。