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