在Delphi中,编译器指令WIN32和CPUX86、WIN64和CPUX64可以互换使用吗?
如果可以,哪一个更好?如果不行,为什么?
在Delphi中,编译器指令WIN32和CPUX86、WIN64和CPUX64可以互换使用吗?
如果可以,哪一个更好?如果不行,为什么?
它们是否可互换取决于您正在开发的平台。
通常情况下,如果只是针对Windows开发,则它们可以互换使用,否则不能。
WIN32
仅定义在 Windows 32位平台上,WIN64
仅定义在 Windows 64位平台上。
然而,CPUX86
定义在几个平台上:Windows 32位、OSX 32位和iOS 32位模拟器。
目前,WIN64
和 CPUX64
只定义在 Windows 64位平台上,因此目前它们可以互换使用,但这可能会在未来发生变化。
应该使用哪个指令取决于您的代码。使用能够传达适当意义的指令。如果代码部分只有在 Windows 32位平台上运行,则应使用 WIN32
指令;如果它旨在在任何平台下但在32位 x86处理器下运行,则应使用 CPUX86
。