编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是不是可以互换?
Posted
技术标签:
【中文标题】编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是不是可以互换?【英文标题】:Is compiler directive WIN32 and CPUX86, WIN64 and CPUX64 interchangeable in Delphi?编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是否可以互换? 【发布时间】:2015-11-07 12:44:51 【问题描述】:编译器指令WIN32和CPUX86、WIN64和CPUX64在Delphi中可以互换吗?
如果是,首选哪一个? 如果不是,为什么?
【问题讨论】:
文档可以告诉你答案:docwiki.embarcadero.com/RADStudio/en/… 【参考方案1】:它们是否可以互换取决于您开发的平台。
一般来说,如果您只进行 Windows 开发,那么它们可以互换,否则不能。
WIN32
仅针对 Windows 32 位平台定义,WIN64
仅针对 Windows 64 位平台定义。
但是,CPUX86
是为多个平台定义的:Windows 32 位、OSX 32 位和 ios 32 位模拟器。
目前WIN64
和CPUX64
仅针对 Windows 64 位平台定义,因此目前它们可以互换,但将来可能会改变。
您应该使用哪个指令取决于您的代码。使用传达正确含义的指令。如果部分代码仅用于在 Windows 32 位平台上运行,则使用 WIN32
指令,如果它打算在任何平台上运行,但在 32 位 x86 处理器下,则应使用 CPUX86
。
Predefined Conditionals
【讨论】:
很好而明确的答案。其实我不知道我为什么要问这个简单的问题,我应该自己想出来的。 很好,你提到了参考预定义条件 - 如果它在结论句中可能会更好。以上是关于编译器指令 WIN32 和 CPUX86、WIN64 和 CPUX64 在 Delphi 中是不是可以互换?的主要内容,如果未能解决你的问题,请参考以下文章