不久前,有人告诉我,64位机器上的long
不是64位的,我应该一直使用int
。这对我来说是没有意义的。我见过一些文档(比如苹果官网上的那个)说,在编译64位long
时,它确实是64位的。我在64位Windows上查了一下,发现
long
和int
的长度保持为32位,并且为64位整数定义了特殊的新数据类型。(来自http://www.intel.com/cd/ids/developer/asmo-na/eng/197664.htm?page=2)
我应该使用什么?如果不是在Windows上,我是否应该定义像uw
,sw
(()无符号宽度)这样的东西作为long
,否则对目标CPU位大小进行检查?
https://stackoverflow.com/questions/384502
复制相似问题