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

编译器指令WIN32和CPUX86、WIN64和CPUX64在Delphi中可互换吗?,delphi,compiler-directives,Delphi,Compiler Directives,编译器指令WIN32和CPUX86、WIN64和CPUX64在Delphi中可互换吗 如果是,首选哪一种? 如果否,原因是什么?它们是否可互换取决于您开发的平台 通常,如果您只进行Windows开发,那么它们可以互换,否则就不能互换 WIN32仅为Windows 32位平台定义,而WIN64仅为Windows 64位平台定义 但是,CPUX86是为几种平台定义的:Windows 32位、OSX 32位和iOS 32位模拟器 目前,WIN64和CPUX64仅为Windows 64位平台定义,因此目

编译器指令WIN32和CPUX86、WIN64和CPUX64在Delphi中可互换吗

如果是,首选哪一种?
如果否,原因是什么?

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

通常,如果您只进行Windows开发,那么它们可以互换,否则就不能互换

WIN32
仅为Windows 32位平台定义,而
WIN64
仅为Windows 64位平台定义

但是,
CPUX86
是为几种平台定义的:Windows 32位、OSX 32位和iOS 32位模拟器

目前,
WIN64
CPUX64
仅为Windows 64位平台定义,因此目前它们可以互换,但将来可能会发生变化

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


回答得又好又清楚。事实上,我不知道我为什么要问这个简单的问题,我应该自己解决。很好,你提到了参考预定义条件-如果是在结论句中,可能会更好。文档可以告诉你答案: