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

时间:2011-06-25 15:45:14

标签: c windows linux gcc cygwin

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

非常感谢!! 利玛

5 个答案:

答案 0 :(得分:9)

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

  • cygwin的。在cygwin下用GCC编译程序。我相信会构建一个使用cygwin兼容层的windows exe。

  • 安装像VBox这样的虚拟机。在VBox中安装Linux。在那里运行程序。

  • http://www.andlinux.org有一个执行此操作的框架。我从来没有尝试过,但有一个视频教程http://www.youtube.com/watch?v=nULDHPCm9p4

答案 1 :(得分:3)

  

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

您必须在Windows下重新编译它。遗憾!

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

答案 2 :(得分:3)

在我看来,flinux可以做到。

来自说明:

  

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

注意:我没有对此进行过测试。

答案 3 :(得分:2)

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

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

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

注意:WSL仍处于测试阶段。

答案 4 :(得分:0)

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