答案1
答案2
您需要 Windows 的 Linux 子系统 (WSL) 和 Linux 发行版。Windows 商店有几个预装了 WSL 的 Linux 发行版。Ubuntu 相当流行,但由于您已经有一个构建的 Linux 系统a.out
,因此最简单的方法可能是匹配它。
如果你无法匹配 Linux 发行版,并且无法正常工作,也可以在 WSL 发行版上a.out
重新运行make
答案3
上面的答案涵盖了大部分方面,但不确定是否遇到过linux系统(有时称为外国 Linux),碰巧也被建议这里并且根据您要实现的目标,这可能是一种更简单的解决方法。
(请注意,我有 WSL,并且经常使用模拟器和虚拟机,而且我还没有真正探索过其他解决方法:))
Foreign LINUX 是适用于 Windows 平台的动态二进制转换器和 Linux 系统调用接口模拟器。它能够在 Windows 上运行未经修改的 Linux 二进制文件,而无需任何驱动程序或对系统进行修改。与 Cygwin 和其他工具相比,这提供了另一种在 Windows 下运行 Linux 应用程序的方法。它现在运行大量控制台应用程序和一些 GUI 应用程序。
答案4
另一个选项类似于运行虚拟机,但不完全相同,那就是从 Docker 容器运行应用程序。
是的,Windows 版 Docker 在后台使用 VM(HyperV 上的 MobyLinuxVM),但您可以执行以下操作:
$ docker run a.out
并将自行停止容器。它还将使用更少的资源,并且可以从 Windows 自己的终端(如 cmd 和 PowerShell)读取输出。
这种情况的 dockerfile 看起来像这样:
FROM docker pull ubuntu:latest
RUN make -f mymakefile
我个人认为这是在 Windows 中运行 Linux 应用程序的最佳解决方案