CS高级项目思路涉及Unix系统编程

时间:2009-10-06 19:12:02

标签: c++ c user-interface unix

我知道有很多关于高级项目创意的问题,但我特别想找一个涉及用C或(最好)C ++进行Unix系统编程的项目。我有the book我使用了四分之一但从未有机会使用过。我想找到一个能让我尽可能多地体验Unix系统调用的项目。

到目前为止我的想法:

      
  • 数据包分析器
  •   
  • 网络服务器

另外,我想为应用程序创建一个GUI。因为它将用C或C ++编写,所以我倾向于Qt4,因为我希望能够在Mac OS X上运行它。我也很感激这方面的建议。

编辑:正如一些答案所建议的那样,它不需要有GUI。那只是一个想法。虽然我想不出许多不涉及的项目创意。

5 个答案:

答案 0 :(得分:4)

我会远离gui。

学习gui编程和框架需要做很多工作 让gui看起来比使用算法更好看需要更长的时间 这很难测试 它并不像CS那样“数不清”,所以你的教授不会被漂亮的颜色所打动。

对于一个项目,你需要一些有很好理论背后的东西 - 一些可分析的算法 - 只是编写一些有用的东西的大型软件并不是真的。

但回到你原来的问题:
数据包分析器 - 是的但是那又如何?你打印出像ethereal一样的数据包。你打算做什么比写一个网络版“ls”

更有趣

Web服务器 - 您对现有Web服务器不执行的操作有什么想法吗?是不是Apache / IIS没有使用http协议的一些有趣的角落?

答案 1 :(得分:4)

如果您真的想探索系统调用,请找到一种有趣的方法来处理进程,文件,网络和线程。我同意其他评论,敦促你淡化GUI。通过创建一个作为守护进程运行并通过命令行界面控制的进程,您将获得更好的系统编程体验。

例如,考虑编写一个中央进程调度程序,根据当前系统负载将二进制可执行文件分发到其他系统。然后,调度程序将结果合并到提交作业的用户。

对于实现环境,我建议使用几个VirtualBox Linux或BSD实例来演示概念证明。

答案 2 :(得分:0)

我打算说一个shell,但是你想要使用GUI ...你写过一个shell吗?还有线程化的应用程序?

Web服务器可能比数据包分析器更容易(如果你从头开始)。

答案 3 :(得分:0)

关于高级设计项目有很多问题,你应该看一下。

如果您是在Mac上进行此操作,为什么不玩得开心并编写一个在iPhone上运行的监控程序,该程序将监控MacOS下的网络流量,类似于 top 功能Unix(不确定 top 是在BSD上还是只在Linux / Solaris上)。

我忘了,你的GUI将在iPhone上。

答案 4 :(得分:0)