1. sizeof(long)与sizeof(long long) 是多少字节?
Windows下:(32位和64位)
cout << sizeof(long) << " , " << sizeof(unsigned long long) << endl;
输出:
4, 8
在linux下,(64位)
cout << sizeof(long) << " , " << sizeof(unsigned long long) << endl;
输出:
8, 8
其中linux中types.h定义如下:
#if __WORDSIZE == 64
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
#else
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
#endif
2、uint64_t的打印选项是llu:
windows提示:
printf("uint64: %llu\n", u64);
linux提示:应该是lu
printf("uint64: %lu\n", u64);