将在64位主机上运行的32位OS VM中的代码编译/调试到IA-32或IA-64代码?

时间:2010-02-04 03:44:27

标签: assembly reverse-engineering

我的笔记本电脑配有运行Windows 7 64位的intel i3处理器。

我想知道,我可以设置运行的VM,比如Windows XP 32位,并能够针对intel 32架构进行编码吗?我的代码是否会在原生32位机器上编译,运行,调试?

谢谢!

4 个答案:

答案 0 :(得分:1)

如果处理器没有错误,并且WoW64层工作正常,那么您的32位代码在64位操作系统上的工作方式基本相同。不需要VM。

答案 1 :(得分:0)

如果你在64位操作系统中进行交叉编译,那么是的,它会在32位操作系统中运行得很好,你也可以在32位操作系统中编译它,这也可以。

答案 2 :(得分:0)

如果打开项目的配置管理器,则可以编译Win32或x64的目标,无论您使用哪个OS用于Visual Studio。如果在安装Visual Studio或SDK时未选择必要的编译器,则必须立即安装它们。

作为一个单独的问题,无论您在虚拟机中安装什么操作系统,当您在该虚拟机中运行时,您都在该操作系统中运行。您也可以将多个操作系统安装到一个虚拟机中,虚拟磁盘驱动器中每个分区一个操作系统,与真实PC上的操作系统相同。

答案 3 :(得分:0)

i7,Core 2等中使用的64位指令集不是IA64,它叫做AMD64或x86-64。 IA64用于Itanium服务器处理器。 至于答案,您不需要专门设置VM来运行/编码/编译32位应用程序。你也可以在64位机器上做到这一点。通过检查VS中的相应选项,可以像在64位计算机上一样完成所有这些操作。