【发布时间】:2013-07-04 13:03:29
【问题描述】:
我正在学习计算机科学的第三年,所以我可能应该已经知道这个问题的答案,但我不知道。无论如何,我目前正在攻读操作系统课程,我们一直在学习许多新的编程概念,例如 C 中的信号、信号量和线程。不幸的是,我的教授在 Linux/OS 中涵盖了所有这些X 视角。这对我来说意味着,在 64 位 Windows 机器上,安装警报信号或使用信号量和 pthread 之类的东西不会在我的机器上编译或运行(据我所知)。
不管怎样,目前我只是在一个运行 Linux 的 VM 中完成我的作业,到目前为止它运行良好,但我更喜欢 Windows 环境进行编码。
所以,在冗长的介绍之后,我的问题是,正如您可能已经猜到的那样,有没有一种方法可以对所有这些功能(警报信号、信号量、pthread 等)进行编码并能够编译和测试它们在 Windows 中?我完全知道 Windows 操作系统不支持警报信号并且 POSIX 功能有限,但我听说过关于 cygwin 的谣言(我确实尝试过工作,但不是很努力:P)和 micro可以在后台运行以使用这些功能的 Linux 内核。
无论如何,如果有人可以给我一个他们会推荐的选项列表(最好不要坚持使用您的虚拟机,即使我认为这可能是我的最佳选择),也许还有一些提示、优点、缺点,也许是设置指南,或者这些选项的任何非空子集,我将不胜感激。另外,在你问之前,我们必须在我们的作业中使用 C 和上面提到的编程特性,所以很遗憾没有切换到 Java 或 win32 选项中的代码:(
提前感谢任何可以提供一些智慧之言的人:)
【问题讨论】:
-
我认为 Raspberry Pi 系统的成本约为 60 欧元,并且能够运行 Linux。您可以使用例如远程编程它SSH 或 Cygwin 的 X 服务器。这是一个不错的玩具!
-
另一个类似于 VM 但在我看来比较麻烦的选项是使用 Amazon Web Services。如果您的作业计算成本不高,您可以在 AWS 上的微型实例上免费运行它们。那里有一个小的学习曲线,但是一旦在那里,它是一种很好的方式,可以在需要时从 Windows 访问 linux 机器,而不会给你的机器带来额外的压力
标签: c windows multithreading operating-system posix