在windows下运行linux gcc编译的程序

好吧,伙计们,希望这是一个相当简单的问题:有什么办法可以在windows操作系统下运行一个用gcc编译的C程序吗? 请不要告诉我在Windows下重新编译它,因为我已经尝试,但看起来没有Windows编译器有128位本机types,并使用bignum库使我的程序慢10到100倍。 有没有什么办法可以在Windows下运行linux二进制文件? 有人告诉我关于cygwin的一些事情,但我不知道从哪里开始。 (我的程序也应该是可移植的,所以我不需要在我的机器上安装程序和东西)。

非常感谢你!! 马特奥

没有直接的办法。 Linux可执行文件的格式与Windows完全不同。 还有其他几个选项。

请不要告诉我在Windows下重新编译它

你将不得不在Windows下重新编译它。 抱歉!

如果你真的找不到支持128位整数的编译器,你应该使用一些汇编器来复制Linux编译器发出的指令。

在我看来, flinux可以做到这一点。

从描述:

…是一个动态的二进制翻译器…能够在Windows上运行未经修改的Linux二进制文件…

注意:我没有测试过这个。

在主机Windows操作系统上将Linux的虚拟机用作来宾操作系统。 在VM下运行你的可执行文件。 但是在gcc-cygwin结合下编译是最好的选择。

自Windows 10周年更新以来,Windows能够通过Windows Subsystem for Linux (WSL)本地运行Linux二进制文件, Bash on Ubuntu on Windows通常称为Bash on Ubuntu on Windows

请参阅https://msdn.microsoft.com/en-us/commandline/wsl

安装之后,可以打开一个bash会话,导航到/mnt/<driveletter>/<path to your program>并运行您的可执行文件,就像运行Linux一样。

注意:WSL仍然是测试版。