如果我执行命令" 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编译器。
答案 0 :(得分:5)
这是Windows在x64系统上的兼容性redirection:
在大多数情况下,只要32位应用程序尝试访问%windir%\ System32,就会将访问权限重定向到%windir%\ SysWOW64。
如果您的控制台是64位且应用程序构建为32位(反之亦然),则它们将以相同的名称显示不同system32目录的内容。