5

编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是否可以互换?

如果是,首选哪一个?如果不是,为什么?

4

1 回答 1

12

它们是否可互换取决于您正在开发的平台。

一般来说,如果你只做 Windows 开发,那么它们是可以互换的,否则就不行。

WIN32仅针对 Windows 32 位平台WIN64定义,仅针对 Windows 64 位平台定义。

但是,CPUX86它是为多个平台定义的:Windows 32bit、OSX 32bit 和 iOS 32bit 模拟器。

目前WIN64CPUX64针对 Windows 64 位平台定义,因此目前它们可以互换,但将来可能会改变。

您应该使用哪个指令取决于您的代码。使用传达正确含义的指令。如果部分代码仅用于在 Windows 32 位平台上运行,则使用WIN32指令,如果它旨在在任何平台上运行,但在 32 位 x86 处理器下,则应使用CPUX86.

预定义条件

于 2015-11-07T13:12:10.897 回答