所有Windows版本都支持Int64吗?

时间:2011-12-09 23:09:29

标签: windows delphi 64-bit integer 32-bit

如果我使用Int64类型的变量,它是否适用于所有Windows版本:win95,98,2000,nt,xp,vista,win7?无论什么操作系统是32位还是64位?无论他们使用什么CPU?

我只想确定,我的程序适用于所有Windows版本。

3 个答案:

答案 0 :(得分:9)

语言提供的数据类型的大小不受操作系统或硬件平台的约束。我可以在32位平台上使用64位整数(或者16位或8位或11位)。

答案 1 :(得分:5)

32位Delphi编译器支持

Int64个变量。无论代码执行的平台(机器,操作系统等)如何,Int64操作数上的所有操作都会得到相同的结果。

在32位平台上,编译器必须使用特殊例程,使用可用的32位机器指令执行64位算术运算。当针对64位机器时,编译器可以使用本机64位指令。无论如何,最终结果对你来说难以区分。

请注意,如果在64位操作系统上执行32位Delphi可执行文件,您仍将使用32位模拟器,即。W.64。从可执行文件的角度来看,您运行的是32位计算机。除非您使用XE2中引入的新64位编译器,否则您将生成32位可执行文件。

答案 2 :(得分:2)

64位整数可以在32位操作系统上正常工作。 然而,使用这些数据类型的性能提升只有在使用为64位操作系统编译的代码时才会出现 - 为此您需要使用Delphi XE2。

与此同时,您可以获得额外的数据容量,但不具备额外的执行速度(尽管通常不会考虑大多数应用程序)。