编译x86和x64

时间:2011-10-07 15:22:57

标签: windows delphi 32bit-64bit delphi-xe2

是否可以以这种方式设置编译器,以便为x86和x64编译可执行文件/ DLL?我的意思是,一个文件适合两个平台。

我只知道单独选择平台的方法,但我想要两者。

有可能吗?

1 个答案:

答案 0 :(得分:19)

x64主机上完全支持x86可执行文件。例如。您在32位模式下编译的任何EXE都将在32位 64位主机上运行时没有任何问题。如果您不知道为什么需要64位可执行文件,则可能不需要,因此仅32位可执行文件就足够了。

然而,对于DLL,它是另一回事。 DLL的体系结构(32位或64位)必须匹配将要使用DLL的可执行文件。例如。如果您正在为x64 Windows编写Explorer扩展,则explorer.exe将为64位,因此您的DLL也必须是64位,否则无法加载。

在Windows上无法将两种不同的体系结构组合成一个DLL或EXE。因此,如果需要同时支持32位和64位主机,则需要两个DLL。