【问题标题】:Programming for Linux on Windows在 Windows 上为 Linux 编程
【发布时间】:2016-03-16 04:51:28
【问题描述】:

我处于一个奇怪的场景中,我必须使用工作 Windows 8 桌面,但我编写的代码要在实时 Linux 机器上运行。我正在为实时系统编写代码,因此需要实现许多非 Windows 标头,例如 RTAI 等。显然我不能在 Windows 8 上运行这些,所以很好奇是否有人对编译和测试有任何建议,而不必将代码上传到我每次想运行程序时正在编程的基于 RTOS 的计算机上。不幸的是,我不能使用虚拟机,并且想避免在终端中编码,以便在 linux 机器上远程编码。

有什么建议吗?

【问题讨论】:

  • 为什么需要为此使用 Windows 8 桌面?有一些工具宣传可以在 Visual Studio 中处理 Linux 目标代码,但我没有使用它们。如果您喜欢玩游戏,请搜索 WinGDB 和/或 VisualGDB。我不知道这些工具如何处理依赖文件名区分大小写的偶尔的源代码树。
  • 您在程序中调用了多少实时特定代码?当您在这种情况下说“测试”时,我不得不假设它没有。如果您只是想假装这些东西在那里,您可以获得相关文件的目录列表,然后将空版本触摸到开发机器上的某个后备包含路径位置。如果您确实需要这些标头中的内容,那么您将不得不做一些更花哨的事情,例如将所有特定函数存根以不做任何事情并提供合理的返回值。就个人而言,我更喜欢在终端中编写代码。
  • 另外一个问题是为什么要避免在远程机器上上传和编译代码?
  • 很遗憾您没有解释为什么不能使用 VM,因为这是最简单的解决方案 - 您不这样做的原因可能是虚假的。 Cygwin 可能是一个替代方案。

标签: linux windows embedded real-time


【解决方案1】:

您可以在 Windows 或任何您喜欢的操作系统中编码,您的编程计算机使用什么系统与目标系统完全无关。

您使用的交叉编译器显然必须用于预期的目标系统。调试器和程序下载工具也是如此。您的程序必须在模拟器中运行,或者必须在真实目标上运行。强烈推荐后者。

因此,您所要做的就是获取正确的软件工具。由于这些几乎都是为 Windows 编写的,这应该很容易。

【讨论】:

  • 对于我当前的项目,我正在使用在 Windows 上运行的交叉编译器为 ARM 进行编译,该交叉编译器在我的 Mac 笔记本电脑上的 VirtualBox 中运行。一切皆有可能……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
相关资源
最近更新 更多