Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
能否使用Windows操作系统和Dev-C+为Linux编写一个shell+;石斑鱼类?两种操作系统的shell工作方式是否相同?_C_Linux_Windows_Shell_Unix - Fatal编程技术网

能否使用Windows操作系统和Dev-C+为Linux编写一个shell+;石斑鱼类?两种操作系统的shell工作方式是否相同?

能否使用Windows操作系统和Dev-C+为Linux编写一个shell+;石斑鱼类?两种操作系统的shell工作方式是否相同?,c,linux,windows,shell,unix,C,Linux,Windows,Shell,Unix,我在学习计算机工程,我们有一门叫做操作系统的课,他们在课上教我们操作系统如何处理东西等等。这周我们有一个家庭作业,要求我们编写一个在Linux上工作的shell。问题是,他们根本没有告诉我们如何编写shell,所以我们应该做一些研究并找出答案 我在网上找到了这本指南,它对我来说似乎很完美: 代码,解释,还有什么我可以要求的 现在,我使用的是Windows PC,我使用的是带有GCC编译器的Dev-C++IDE。我可以用当前设置编写一个在Linux上工作的shell,还是必须安装Linux?she

我在学习计算机工程,我们有一门叫做操作系统的课,他们在课上教我们操作系统如何处理东西等等。这周我们有一个家庭作业,要求我们编写一个在Linux上工作的shell。问题是,他们根本没有告诉我们如何编写shell,所以我们应该做一些研究并找出答案

我在网上找到了这本指南,它对我来说似乎很完美: 代码,解释,还有什么我可以要求的


现在,我使用的是Windows PC,我使用的是带有GCC编译器的Dev-C++IDE。我可以用当前设置编写一个在Linux上工作的shell,还是必须安装Linux?shell在这些操作系统上的运行方式有什么主要区别吗?

如果你想为Linux编写一个shell,你就要以GNU/Linux为目标,它基本上是带有一些扩展的POSIX

默认情况下,Dev-C++使用MinGW-GCC作为编译器,提供Win32 API

Win32和POSIX完全不同。为其中一个编写的shell与另一个甚至没有丝毫相似之处

相反,您有几个选项:

  • Dev-C++可以选择使用cygwingcc,在Windows上提供更像GNU/Linux的体验。您需要非常小心,不要依赖任何特定于Cygwin的功能,例如它如何自动转换路径名和行终止符。您仍然需要访问Linux安装以验证它是否正常工作

  • Windows 10允许您安装WSL,这是一个更现代的Windows Linux兼容层。Dev-C++没有明确声明它支持它,因此您可能需要单独编辑和编译,并且可能会丢失调试功能。您仍然需要访问Linux安装以验证它是否正常工作

  • 只需在虚拟机中运行Linux。唯一需要关心的是让你的外壳正常工作


我建议您现在就省去很多麻烦,只需在VirtualBox中下载/安装一个Ubuntu映像。

Linux和Windows完全不同。您需要使用开发工具以Linux为目标。我不知道Dev-C++IDE是否提供了这个选项(我不熟悉)。我认为最新的VisualStudio确实将Linux作为目标。构建程序后,需要一个Linux shell来运行它。如果您使用的是Windows 10,那么实际上有一个真正的Ubuntu Bash shell可供您使用。您只需要最新的Windows 10版本。有关更多详细信息,请参阅Silberschatz操作系统概念第9版手册(第3章)。它确切地包含了你想知道和做的事情,在课堂上会对你有很大帮助。你错过了一个重要的选项。Visual Studio 2017允许您以Linux为目标。您可以在WSL中编写、编译和调试代码。