我上网的CS课程建议学生编写源代码并在OS UNIX上运行valgrind等工具。我完全不熟悉UNIX,Linux,他们的工具和c编码。我已尝试在VMWare Player 3.1.3上安装FreeBSD 8.1,甚至设法让VMWare Tools运行。但FreeBSD文档让我在完成常见任务(包括安装NFS或USB设备)方面遇到了许多问题。事实证明,我需要安装或配置我需要的软件包,我没有看到如何安装它们的直接答案。
所以,如果我只使用UNIX作为工具来运行gcc,g ++,valgrind这个CS课程,而这些可以在Linux上运行,看起来我可以使用Ubuntu Linux更快地完成工作。
如果在Linux上编译,可以使用Linux在UNIX上以相同的方式编译和运行c代码吗?或者如果没有,有什么不同之处?
由于
答案 0 :(得分:6)
对于新手级C程序员(如OP),环境差异可以忽略不计。继续使用Linux。
答案 1 :(得分:1)
我认为,就本课程而言,您可以在Linux上运行您的程序和工具,
但我猜你的老师希望你使用FreeBSD的原因是除了编写你的问题之外还要学习其他东西
答案 2 :(得分:1)
两者应该是一样的。您可能会看到的唯一主要区别是由于使用了不同的版本。我会检查一下老师正在使用的gcc,g ++和valgrind的版本,并确保在安装Linux时运行相同的版本。
答案 3 :(得分:1)
您还可以使用MinGW或Cygwin。你提到过VMWare,所以我猜你是想在Windows环境中启动并运行一个环境。它们都允许您使用编译器和一些工具,而无需完全安装基于Linux的系统。在CS课程中,他们绰绰有余。
答案 4 :(得分:1)
主要区别也在寻找:
make
的供应商可能有所不同。这意味着虽然make
的核心运行方式类似,但两者中可能无法使用某些功能。实际上,您可能不会使用大多数make
扩展功能,但在最糟糕的情况下,您可能会选择维护多个Makefile
或将自己限制为常见的功能子集。在一天结束时,这一切都归结为教授想要的东西。可以在Linux中完成100%工作的赔率为95 +%,但是教授的要求或评分环境可能会使您必须将代码复制到UNIX帐户以构建最终的“提交”可执行文件。考虑到大学的UNIX帐户不像笔记本电脑上的Linux那么便携,大学计算机“最终验证/移植”的成本可能很小,相比于你的家庭作业更方便的工作时间在固定的实验室管理。