关于64数的字节序转换的问题
#define hton64(v) ((((v) & 0xff00000000000000) >> 56) |\
(((v) & 0x00ff000000000000) >> 40) |\
(((v) & 0x0000ff0000000000) >> 24) |\
(((v) & 0x000000ff00000000) >> 8) |\
(((v) & 0x00000000ff000000) << 8) |\
(((v) & 0x0000000000ff0000) << 24) |\
(((v) & 0x000000000000ff00) << 40) |\
(((v) & 0x00000000000000ff) << 56))
这段代码在C++ Builder 6.0中,用debug模式编译出现错误提示:Internal backend error C3099 compiling .\Unit1.cpp(398)
但在release模式下编译正常,请问是怎么回事?
[解决办法]
我的cb6,debug、release都正常
[解决办法]
W8056 Integer arithmetic overflow
[解决办法]
没问题吧