std :: system()无法正常工作

时间:2016-02-09 14:40:49

标签: c++ shell command-line cmd system

如果我执行命令" C:\ Windows \ system32 \ java.exe"在命令行上,我获得了有关如何使用Java的信息。但是,当我写一个简单的c ++程序来做同样的事情时

#include <iostream>

int main()
{
    std::system("C:\\Windows\\system32\\java.exe");
    return 0;
}

我得到以下控制台输出:

'C:\Windows\system32\java.exe' is not recognized as an internal or external command,
operable program or batch file.

我在Windows 10上使用mingw-w64编译器。

1 个答案:

答案 0 :(得分:5)

这是Windows在x64系统上的兼容性redirection

  

在大多数情况下,只要32位应用程序尝试访问%windir%\ System32,就会将访问权限重定向到%windir%\ SysWOW64。

如果您的控制台是64位且应用程序构建为32位(反之亦然),则它们将以相同的名称显示不同system32目录的内容。