编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是否可以互换?
如果是,首选哪一个?如果不是,为什么?
编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是否可以互换?
如果是,首选哪一个?如果不是,为什么?
它们是否可互换取决于您正在开发的平台。
一般来说,如果你只做 Windows 开发,那么它们是可以互换的,否则就不行。
WIN32
仅针对 Windows 32 位平台WIN64
定义,仅针对 Windows 64 位平台定义。
但是,CPUX86
它是为多个平台定义的:Windows 32bit、OSX 32bit 和 iOS 32bit 模拟器。
目前WIN64
仅CPUX64
针对 Windows 64 位平台定义,因此目前它们可以互换,但将来可能会改变。
您应该使用哪个指令取决于您的代码。使用传达正确含义的指令。如果部分代码仅用于在 Windows 32 位平台上运行,则使用WIN32
指令,如果它旨在在任何平台上运行,但在 32 位 x86 处理器下,则应使用CPUX86
.