![]() |
1
31
这与效率无关。本机和交叉编译器都将生成相同的机器代码。不过,在64位工作站上运行本机64位编译器进程(更大的寄存器、更大的内存空间等),您将获得一些好处。 本机编译器将只在64位的Windows副本上运行,因此如果您的工作站是32位的,则此编译器甚至不会运行。
你链接的页面上写得很好:
|
![]() |
2
17
从您链接的内容:
释义: 如果您使用x86_amd64,那么您通常是在x86机器上开发的,并且希望创建在x64上本机运行的x64文件。您也可以在x64计算机上使用此选项,但您的编译器将在WOW64仿真下运行。 如果您使用AMD64,那么您是在x64计算机上开发的,并且希望创建在x64上本机运行的x64文件。编译器在x64中本机运行。此选项在构建x64程序时效率更高。 您可能想知道为什么要在x86计算机上开发x64程序,因为您不能运行它,也不能调试它。例如,如果您有一个构建服务器是x86,并且该构建服务器需要生成x86和x64输出,那么它仍然很有用。 如果编译器是基于x86的程序(x86\u amd64),它怎么可能在x64下运行?这与您可以在x64机器上运行任何x86程序的原因相同。。。感谢WOW64仿真。 什么是WOW64仿真:
您的文件系统操作将被重定向到WOW64文件夹,您的注册表也将被重定向到子节点。例如,当您尝试获取程序文件的文件夹时,它将返回
运行本机x64构建将比运行WOW64仿真更高效为什么?因为你没有额外的仿真层将你的32位调用转换成64位调用。
|