【发布时间】:2010-05-30 04:58:49
【问题描述】:
我刚刚开始使用 x64 编译。
我有几个 char*,我正在减去它们。 使用 32 位编译,这是可行的:
char * p1 = ....
char * p3 = ...
int delta = p3 - p1;
但如果我为 x64 编译,我会收到警告:
warning C4244: 'initializing' : conversion from '__int64' to 'int',
possible loss of data
在 x86 和 x64 编译中都可以使用的正确类型是什么,用于表示两个指针之间的差异?
我知道我可以在 x64 编译中使用 __int64,但我希望它也适用于 x86,并且我不想在此处嵌入 #ifdef 来执行此操作。
【问题讨论】:
标签: visual-c++ 64-bit