t*******t 发帖数: 105 | 1 碰到一个函数:
inline void SwapEndian_64(uint64_t& x) {
x = (x << 40) & 0x00FF000000000000ll);// warning: use of C++0x long long
integer constant
}
google说加上 -std=c++0x ,但是也有说这个不稳定不通用。
请问如何修改代码让这个warning消失? |
t****t 发帖数: 6806 | 2 uint64_t is not a part of standard of c++98/c++03 (although many compiler
support that). uint64_t is *optional* in c++11/c++0x. so if you use uint64_t
, most likely the compiler already support long long int literal. so you
should be fine with -std=c++0x.
long
【在 t*******t 的大作中提到】 : 碰到一个函数: : inline void SwapEndian_64(uint64_t& x) { : x = (x << 40) & 0x00FF000000000000ll);// warning: use of C++0x long long : integer constant : } : google说加上 -std=c++0x ,但是也有说这个不稳定不通用。 : 请问如何修改代码让这个warning消失?
|
f*******n 发帖数: 12623 | 3 it's just a warning. but the compiler seems to support it anyway. it should
be fine |
H****r 发帖数: 2801 | 4 好奇这个SwapEndian在何情况下回用到?
long
【在 t*******t 的大作中提到】 : 碰到一个函数: : inline void SwapEndian_64(uint64_t& x) { : x = (x << 40) & 0x00FF000000000000ll);// warning: use of C++0x long long : integer constant : } : google说加上 -std=c++0x ,但是也有说这个不稳定不通用。 : 请问如何修改代码让这个warning消失?
|
f*****e 发帖数: 2992 | 5 socket programming? Beej那本小册子上有个类似的例子。
【在 H****r 的大作中提到】 : 好奇这个SwapEndian在何情况下回用到? : : long
|