Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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
C++ 什么';这是一个适合Unix/Linux学习优势的好项目_C++_Unix_Operating System - Fatal编程技术网

C++ 什么';这是一个适合Unix/Linux学习优势的好项目

C++ 什么';这是一个适合Unix/Linux学习优势的好项目,c++,unix,operating-system,C++,Unix,Operating System,几年来,我一直在使用C#、.net和Visual Studio开发基于Microsoft Windows的应用程序(桌面和web),并使用了少量C/C++和WIN32您可以考虑一个涉及大量文本的项目。 编辑:在这种情况下,您应该选择更适合文本处理的语言(如Perl) 当然,这可以通过MS工具来实现,但由于大多数MS应用程序都采用专有的二进制文件格式(我在这里推广),Windows的重点是操作MS自身格式的应用程序 一个迫使您考虑UNIX工具的文本处理能力的项目可能在揭示UNIX的优势方面是最有用

几年来,我一直在使用C#、.net和Visual Studio开发基于Microsoft Windows的应用程序(桌面和web),并使用了少量C/C++和WIN32<我想拓宽我的视野,尝试在A*nix环境下开发<强>,例如使用VIM+C++。我在一些学校项目中的UNIX经验有限

我很难想出一个好的项目来实现,它可能会揭示UNIX的一些优势,以及为什么一些项目/领域更喜欢使用UNIX。我可以想到几个我想构建的有趣的东西,但是我看不出为什么在UNIX中实现这些东西会比使用UNIX环境的练习更有说服力

什么项目/应用程序可以帮助开发人员了解UNIX的优势?

理想情况下,在我编写这个项目的某个时候,一个灯泡会浮在我的头上,自动打开,我会说“啊哈!“当我意识到UNIX环境与我以前在Windows中所做的相比有一些好处时

为了清楚起见,我并不怀疑UNIX有它的优势,我只是在为UNIX开发寻找一个诱人的起点。

这里有一个想法:编写一个(简单的)游戏,并在一些公共目录中维护一个“高分列表”,这样普通用户可以查看分数,但不能直接修改分数(仅通过游戏程序本身)


这样做将显示UNIX文件权限和SEGGID是如何工作的。值得思考的是如何在Windows中实现相同的功能。

< P>您可以考虑一个涉及大量文本的项目。

编辑:在这种情况下,您应该选择更适合文本处理的语言(如Perl)

当然,这可以通过MS工具来实现,但由于大多数MS应用程序都采用专有的二进制文件格式(我在这里推广),Windows的重点是操作MS自身格式的应用程序

一个迫使您考虑UNIX工具的文本处理能力的项目可能在揭示UNIX的优势方面是最有用的。在UNIX/Linux中“

< P>”是“文件”。如何编写一个读取磁盘设备的软件,理解分区表和文件系统?

另一种可能是编写一个linux内核模块,它可以“有所作为”。它肯定会让您更好地理解linux内核的工作原理。另外一个好处是,它听起来比实际更为硬核;)


一个很好的起点是。

对你影响最大的是你的工作方式。不过,一个好的多线程应用程序会显示出通常更好的线程性能。

你可以编写一些服务器应用程序,利用非阻塞IO,以及epoll、kqueue或/dev/epoll等机制来实现在不使用任何线程的情况下处理高容量流量。

Windows和UNIX系列操作系统都具有类似的功能。我怀疑是否存在类似的项目。同意。但是,您并不是真的编写软件。或者,如果您真的编写了软件,可能是在bash或perl中(顺便说一句,这很有趣)这听起来有点沙文主义。所以在Perl编写软件不算是因为“好玩”。Paviu: HeHe。那不是我的意图。只是TJB说他知道C、C++和java:是的,如果你在操纵文本,你会选择一个合适的语言,比如Perl。这是我应该添加到我的答案的一点。我对其他语言开放。嗯,你会说perl在UNIX开发人员中非常流行吗?perl是我一直听说但从未使用过的另一种语言,也许是时候了……内核模块让我想到“我的操作系统的steriods插件”我喜欢这样!开发内核模块是不是很麻烦?它通常是通过运行OS w/ke的虚拟机完成的我必须反复重新启动的rnel模块?或者我可以轻松地将模块加载/更新到我正在运行的操作系统中吗?当然,我也会查看链接,thanx!如果内核崩溃,使用虚拟机会更容易。只要您的模块不崩溃内核,您可以随意加载/卸载模块。”构建和运行模块“:你应该开始了