在 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++ 调度任务