某些人会考虑用long类型的长度来作为判断的标准,这样不是一个好的答案。我认为比较好的答案是利用虚拟地址的位数

1 int main()
2 {
3 
4 #ifdef __x86_64__
5     assert(sizeof(char *) == 8);
6 #endif
7     return 0;
8 }

 


然后见到别人提了一个这样的问题:如果是64位的机器装了32位的系统,你怎么判断呢?

 A:

1. 直接读取/proc/cpuinfo

2. 更底层点的做法:使用汇编指令cpuid

相关文章:

  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2021-10-17
  • 2022-12-23
猜你喜欢
  • 2021-11-13
  • 2022-12-23
  • 2022-02-09
  • 2021-11-13
  • 2022-12-23
  • 2021-11-29
  • 2021-08-26
相关资源
相似解决方案