Pav*_*ath 5 c compiler-construction 64-bit sizeof
sizeof(int)Dev Cpp虽然它在64位机器上运行,但在我身上显示4 .为什么不考虑底层硬件并显示8呢?另外,如果我编译环境也改为64位(首先是否64 bit compiler有意义?!),那么int的大小会改变吗?
是否有任何标准来决定这一点?
xan*_*tos 17
取自http://en.wikipedia.org/wiki/64-bit(下64-bit data models)
有各种型号,微软决定sizeof(int) == 4,一些(少数)其他人没有.
Solaris到SPARC64和Unicos的HAL Computer Systems端口似乎是唯一的端口sizeof(int) == 8.它们被称为ILP64和SILP64型号.
真正的"战争"是sizeof(long),微软决定sizeof(long) == 4(LLP64),而几乎所有人都决定sizeof(long) == 8(LP64).
请注意,实际上编译器"决定"使用哪个模型,但是在wiki中编写
请注意,编程模型是基于每个编译器的选择,并且几个可以在同一OS上共存.但是,选择作为OS API主要模型的编程模型通常占主导地位.