从32位程序启动64位进程

4 c++ 64-bit 32-bit system

我有一个32位程序,我试图在64位计算机上运行.我正在运行vssadmin命令来获取还原点信息并将其保存到文本文件中.现在,它在我的32位计算机上工作正常,我在朋友的64位计算机上测试它并不起作用.

如果我在64位系统上运行的32位应用程序中使用system(),它会使用32位命令提示符吗?这是我能想到的唯一能阻止它工作的东西,因为我从命令提示符手动运行命令并且工作正常.

如果是这样的话?反正是否强迫它使用正确的命令提示符?

Mat*_*son 10

在Linux和Windows中[我也相信BSD/MacOS],32位应用程序可以使用相关的"创建新进程"系统调用启动64位进程[ system()在shell启动时会执行几个层次的启动].

唯一的限制是32位可执行文件不能使用64位共享库(.so或.dll),反之亦然.但是,新进程首先加载一个新的可执行文件,此时该进程可以基于可执行文件本身为32位或64位.