我正在学习计算机工程,我们有一个叫做操作系统的课程,他们向我们讲述操作系统如何处理东西等等。本周我们给了一个功课,要求我们编写一个适用于Linux的shell。问题是,他们几乎没有关于如何编写shell的问题,所以我们应该做一些研究并弄清楚。
我在网上找到了这个指南,这对我来说似乎很完美:link 代码,有解释,我还能要求什么。
现在,我使用的是Windows PC,我使用Dev-C ++ IDE和GCC编译器。我可以使用当前设置编写在Linux上运行的shell,还是必须安装Linux? shell在这些操作系统上运行的方式有什么重大差异吗?
答案 0 :(得分:2)
如果你想为Linux编写一个shell,你想要定位GNU / Linux,它基本上是带有一些扩展的POSIX。
默认情况下,Dev-C ++使用MinGW GCC作为其编译器,提供Win32 API。
Win32和POSIX完全和根本不同。为一个写的shell甚至不会与另一个略有相似。
相反,您有几种选择:
Dev-C ++可以选择使用Cygwin GCC,在Windows上提供更像GNU / Linux的体验。您需要特别注意不要依赖任何特定于Cygwin的功能,例如它如何自动转换路径名和行终止符。您仍然需要访问Linux安装以验证它是否有效。
Windows 10允许您安装WSL,这是一个更现代的Windows Linux兼容层。 Dev-C ++没有明确声明它支持它,因此您可能需要单独编辑和编译,并可能失去调试功能。您仍然需要访问Linux安装以验证它是否有效。
只需在VM中运行Linux即可。唯一需要关心的是让你的shell工作。
我建议你现在节省很多麻烦,只需在VirtualBox中下载/安装Ubuntu图像。