在 Windows 上开发并在 linux 机器上运行

Posted

技术标签:

【中文标题】在 Windows 上开发并在 linux 机器上运行【英文标题】:Develop on Windows and running on linux machines 【发布时间】:2012-04-02 00:22:53 【问题描述】:

我需要为 Linux 开发应用程序,但我不想在 Linux 上编程(我已经设置了所有“宝贵”工具)或在 Windows 上使用某种 POSIX for Windows 进行测试,并希望如果在真正的 Linux 上运行良好。

什么是更好的选择?我希望使用 Eclipse IDE 进行编译/运行/调试,并在本地 VM 或远程运行的 Linux 发行版上运行我的程序。

现在我正在使用类似的方法,但用于在远程服务器上进行 Java Web Service 测试。也许这就是要走的路?

编辑:

为了更好地解释我想要什么,这里是我想要遵循的步骤:

    C 语言程序,适用于 POSIX 兼容系统,在 Windows 上使用 Eclipse 在 Windows 上进行小测试,可能使用 Cygwin(这不是强制性的,只是为了更快) 通过我的 Windows Eclipse,我想在真正的 Linux 环境(可以是 VM 或远程机器)上运行/调试我的应用程序,并且优先将应用程序标准输出重定向到我的计算机。 Linux机器的存在只是为了保证一切正常,甚至不需要打开它。

我没有提到的一件事:所有的应用程序都是命令行,不需要 GUI,只需从 shell 输入并读取输出。

【问题讨论】:

问题是我不知道该怎么做。如果我在 Google 上搜索,我只会找到 Cygwin 或等效项来测试 Windows 下的代码或“如何在 Windows 上运行 Linux 应用程序”,反之亦然 不不,您需要的是尽可能接近的 linux 环境。最好是 linux 虚拟机。比你需要一种方便的方法来打包和部署你的代码到那个虚拟机(ant/maven)。如果您使用 Java 开发,大多数代码都可以单独测试(JUnit),因此平台无关紧要 - 那是功能 + 集成测试。你使用 CI 环境吗? 您使用哪种编程语言? 在本例中为 C(强制)。如果是 Java,我已经知道该怎么做(两台机器上运行相同的代码) 【参考方案1】:

首先,在VirtualBox 或VirtualPC 或vmware 之类的虚拟PC 中安装Linux。

然后为remote development 配置Eclipse。这允许您从 Eclipse 内的 Windows 桌面在 Linux 上运行工具(如调试器、编译器套件等)。您可以像以前一样编辑文件,也可以像应用程序在 Windows 上本地运行一样进行调试,等等。Eclipse 会完成这些工作。

【讨论】:

【参考方案2】:

远程服务器是要走的路。但是大多数人都有一台足够强大的机器来在 Virtualbox 中运行 32 位 Linux 发行版,这比真正的远程服务器要好,因为您可以完全控制设置和配置。

但安装 cygwin 包括 GCC 并使用它在本地运行初始编译(可能还有单元测试)。此外,请务必在您的 Linux VM 上使用 Valgrind 来帮助您生成更简洁的代码。

【讨论】:

以上是关于在 Windows 上开发并在 linux 机器上运行的主要内容,如果未能解决你的问题,请参考以下文章

如何从 gitbash 生成多个 SSH 公钥并在 Windows 机器上配置这些公钥? [关闭]

一段时间后,当从 Windows SSH 到 linux 机器时,子进程(在分叉后创建)卡在 Windows 上

如何在 Windows 机器上为 Linux 编译 .NET Core 应用程序

在 Linux 和 Windows 机器上使用 C++ 调度任务

如何开始学习linux设备驱动开发?(仅在windows上工作)

Composer 未安装在 Windows 机器上