谁可相欹 发表于 2015-1-16 11:05:00

来讲讲:程序员最值得存眷的10个C开源项目

要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;
 1.Webbench

  Webbench是一个在linux下利用的十分复杂的网站压测工具。它利用fork()摹拟多个客户端同时会见我们设定的URL,测试网站在压力下事情的功能,最多能够摹拟3万个并发毗连往测试网站的负载才能。Webbench利用C言语编写,代码其实太简便,源码加起来不到600行。
  下载链接:http://home.tiscali.cz/~cz210552/webbench.html
 2.Tinyhttpd

  tinyhttpd是一个超轻量型HttpServer,利用C言语开辟,全体代码只要502行(包含正文),附带一个复杂的Client,能够经由过程浏览这段代码了解一个HttpServer的实质。
  下载链接:http://sourceforge.net/projects/tinyhttpd/
 3.cJSON

  cJSON是C言语中的一个JSON编解码器,十分轻量级,C文件只要500多行,速率也十分幻想。
  cJSON也存在几个缺点,固然功效不长短常壮大,但cJSON的小身板和速率是最值得欣赏的。其代码被十分好地保护着,布局也复杂易懂,能够作为一个十分好的C言语项目举行进修。
  项目主页:http://sourceforge.net/projects/cjson/
 4.CMockery

  cmockery是google公布的用于C单位测试的一个轻量级的框架。它很玲珑,对其他开源包没有依附,对被测试代码侵进性小。cmockery的源代码行数不到3K,你浏览一下will_return和mock的源代码就一览无余了。
  次要特性:

[*]收费且开源,google供应手艺撑持;
[*]轻量级的框架,使测试加倍疾速复杂;
[*]制止利用庞大的编译器特征,对老版本的编译器来说,兼容性好;
[*]其实不强迫请求待测代码必需依附C99尺度,这一特征对很多嵌进式体系的开辟很有效
  下载链接:http://code.google.com/p/cmockery/downloads/list
 5.Libev

  libev是一个开源的事务驱动库,基于epoll,kqueue等OS供应的基本举措措施。其以高效着名,它能够将IO事务,准时器,和旌旗灯号一致起来,一致放在事务处置这一套框架下处置。基于Reactor形式,效力较高,而且代码精简(4.15版本8000多行),是进修事务驱动编程的很好的资本。
  下载链接:http://software.schmorp.de/pkg/libev.html
 6.Memcached

  Memcached是一个高功能的散布式内存工具缓存体系,用于静态Web使用以加重数据库负载。它经由过程在内存中缓存数据和工具来削减读取数据库的次数,从而供应静态数据库驱动网站的速率。Memcached基于一个存储键/值对的hashmap。Memcached-1.4.7的代码量仍是能够承受的,只要10K行摆布。
  下载地点:http://memcached.org/
 7.Lua

  Lua很棒,Lua是巴西人创造的,这些都令我不爽,可是还不至于酡颜,最多眼红。
  让我酡颜的是Lua的源代码,百分之一百的ANSIC,一点都不搀杂。在任何撑持ANSIC编译器的平台上都能够轻松编译经由过程。我试过,真是一点空话都没有。Lua的代码数目充足小,5.1.4仅仅1.5W行,往失落空缺行和正文估量能到1W行。
  下载地点:http://www.lua.org/
 8.SQLite

  SQLite是一个开源的嵌进式干系数据库,完成自包涵、零设置、撑持事件的SQL数据库引擎。其特性是高度便携、利用便利、布局松散、高效、牢靠。充足小,大抵3万行C代码,250K。
  下载地点:http://www.sqlite.org/。
 9.UNIXv6

  UNIXV6的内核源代码包含设备驱动程序在内约有1万行,这个数目的源代码,初学者是可以充实了解的。有一种说法是一团体所能了解的代码量下限为1万行,UNIXV6的内核源代码从数目上看恰好在这个局限以内。看到这里,人人是否是也有“假如只要1万行的话没准儿我也能学会”的设法呢?
  另外一方面,比来的操纵体系,比方Linux最新版的内核源代码听说凌驾了1000万行。就算不是初学者,想完整了解全体代码基础上也是不成能的。
  下载地点:http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6
 10.NETBSD

  NetBSD是一个收费的,具有高度移植性的UNIX-like操纵体系,是现行可移植平台最多的操纵体系,能够在很多平台上实行,从64bitalpha服务器得手持设备和嵌进式设备。NetBSD企图的标语是:”OfcourseitrunsNetBSD”。它计划简便,代码标准,具有浩瀚先辈特征,使得它在业界和学术界广受好评。因为简便的计划和先辈的特性,使得它在临盆和研讨方面,都有出色的体现,并且它也有受利用者撑持的完全的源代码。很多程序都能够很简单地经由过程NetBSDPackagesCollection取得。
  下载地点:http://www.netbsd.org/
在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你linux中的重要内容备份,因为,在你学习的过程中,很可能将系统搞废(eg:源混乱等);

蒙在股里 发表于 2015-1-18 07:47:13

事必躬行。初学者开始最爱犯得毛病就是看书不动手,尽信书不如无书(我也反对),语言和平台有关,任何平台都不是绝对支持标准。

简单生活 发表于 2015-2-2 13:40:42

关于C++与C语言的规范化问题。众所周知,C++是从C语言发展而来的,所以在C++中就不可避免的夹杂些C留下来的糟粕(使用C语言的请见谅)。

admin 发表于 2015-2-7 22:25:48

但是这样的好处是很多的,用string和vector可以很早的写出很有用的程序,而不用考虑内存分配与指针问题。

飘灵儿 发表于 2015-2-23 14:50:26

当然. 你有兴趣可以再学学动态语言.比如 Ruby.慢慢地. 就会提高的.多学一点东西.就会让你的思维广阔。。

乐观 发表于 2015-3-7 09:43:27

慢慢得,你会发现你得问题强人基本解决不了,不是你超过他,而是你们关注领域不同,这个时候,你自己也成为强人了,嘿嘿!!

飘飘悠悠 发表于 2015-3-14 22:54:58

最后一部分:算是高级一些的主题,总感觉书的这一部分翻译的不太好,读起来完全没有前面几章顺畅,像多重继承什么的,如果觉得太难理解,看的时候放一放,改天等你用到的时候,再来看看是怎么回事。

老尸 发表于 2015-3-21 17:53:10

记住: 不要放了基础. 多实践. 学程序时养成好习惯. 这包括程序要写得清晰.明了.就像写作一样.
页: [1]
查看完整版本: 来讲讲:程序员最值得存眷的10个C开源项目