php十个经典程序,十个经典的C开源项目代码

开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。

十个最值得阅读学习的C开源项目代码

Webbench

Tinyhttpd

cJSON

CMockery

Libev

Memcached

Lua

SQLite

UNIX v6

NETBSD

十个最值得阅读学习的C开源项目代码

Webbench

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.html

Tinyhttpd

tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。下载链接:http://sourceforge.net/projects/tinyhttpd/

cJSON

cJSON是C语言中的一个JSON编×××,非常轻量级,C文件只有500多行,速度也非常理想。

cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。项目主页:http://sourceforge.net/projects/cjson/

CMockery

cmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你阅读一下will_return和mock的源代码就一目了然了。

主要特点:

免费且开源,google提供技术支持;

轻量级的框架,使测试更加快速简单;

避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好;

并不强制要求待测代码必须依赖C99标准,这一特性对许多嵌入式系统的开发很有用

Libev

libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。下载链接:http://software.schmorp.de/pkg/libev.html

Memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。下载地址:http://memcached.org/

Lua

Lua很棒,Lua是巴西人发明的,这些都令我不爽,但是还不至于脸红,最多眼红。

让我脸红的是Lua的源代码,百分之一百的ANSI C,一点都不掺杂。在任何支持ANSI C编译器的平台上都可以轻松编译通过。我试过,真是一点废话都没有。Lua的代码数量足够小,5.1.4仅仅1.5W行,去掉空白行和注释估计能到1W行。下载地址:http://www.lua.org/

SQLite

SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大致3万行C代码,250K。 下载地址:http://www.sqlite.org/ 。

UNIX v6

UNIX V6 的内核源代码包括设备驱动程序在内 约有1 万行,这个数量的源代码,初学者是能够充分理解的。有一种说法是一个人所能理解的代码量上限为1 万行,UNIX V6的内核源代码从数量上看正好在这个范围之内。看到这里,大家是不是也有“如果只有1万行的话没准儿我也能学会”的想法呢?

另一方面,最近的操作系统,例如Linux 最新版的内核源代码据说超过了1000 万行。就算不是初学者,想完全理解全部代码基本上也是不可能的。下载地址:http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6

NETBSD

NetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。NetBSD计划的口号是:"Of course it runs NetBSD"。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。许多程序都可以很容易地通过NetBSD Packages Collection获得。下载地址:http://www.netbsd.org/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
*PHP圈子程序代码版|小蜜蜂商务网站门户系统[BBWPS]安装说明 *当前版本:V2.1Build071105释放时间:07.11.0511:47 *官方演示:http://www.bbwps.net *版权所有CopyRight2006~2007,bbwps.COM;保留所有权利 ----------------------------- BBWPS运行环境:任何服务器操作系统+PHP+Mysql+ZENDOptimizer 特别说明: 服务器尽量不要安装多种PHP解密加速器; 推荐使用ZendOptimizerV2.6以上版本,有的WEB环境同时安装ionCube,容易造成程序冲突,甚至无法使用。 BBWPS开发/测试环境:FreeBSD6.2/Apache2.2.x/PHP5.8.8/Mysql5.1.20/ZendOptimizer-3.2.8(最佳运行环境,^_^) 安装前言: 若您是单独下载的本应用模块,请确认您安装的BBWPS平台版本为:V2.1Build070824释放时间:07.08.2417:00及以上版本, 若平台版本不符合要求,会导致模块安装后运行错误。 平台下载地址:http://www.bbwps.com/down/V2.1/BBWPS_base.rar;该地址下载程序包内含平台历次升级文件及说明。 ----------------------------- 安装说明: 1、所有文件请用FTP软件以二进制上传方式(必须)完整上传解压后的quanzi目录内文件至服务器bbwps目录下, 如:BBWPS目录/quanzi;初次安装请勿修改目录名。 2、服务器使用Windows2003、UNIX类平台,请按以下说明修改目录权限为777; BBWPS目录/quanzi/config/ BBWPS目录/quanzi/upload/ BBWPS目录/quanzi/cache/ BBWPS目录/quanzi/config/backup.php BBWPS目录/quanzi/config/parameter.php BBWPS目录/quanzi/session/ BBWPS目录/quanzi/config.php 3、登录BBWPS管理后台:http://您的BBWPS目录/admin.php 4、点击页顶功能导航:“模块管理”功能,再点击屏幕左侧菜单:前台模块---添加模块; 5、模块安装请对照说明操作:http://help.bbwps.com/base/module.html 6、模块安装完成后,页顶导航区会显示模块链接,点击该链接进入模块后台功能管理操作。 7、模块模版修改:请参考“BBWPS用户手册”模块模版设计改造自己满意的模版效果。 8、修改安全校验码 BBWPS系统自2.0版本起,完全自己设计安全校验机制,不采用PHP程序自身的安全校验功能; 管理员可设置通讯密钥,结合随机N次加密,达到每个BBWPS系统安装后的通讯机制都是唯一的。 只要修改默认通信密钥,官方也无法破解您网站的通讯控制信息。 建议修改,系统平台安全码文件:/config/baseCheckCode.php,各模块安全码文件需要对应修改,位于模块目录/config目录下。 ----------------------------- 模块复制,仅需上传文件到新目录,重复上面的模块安装步骤,输入新的模块名称即可。 ----------------------------- 系统功能使用,请浏览软件包“BBWPS用户手册”目录相关说明; 另官方不定期补充在线手册,在线手册地址:http://help.bbwps.com 1、允许注册会员创建圈子,加入圈子,退出圈子; 2、创建圈子时,可以设置公开和私有两种类型,所有用户都可以查看公开的圈子,只有圈内成员才可以查看私有圈子; 3、创建圈子时,可以设置加入权限和回贴权限; 4、圈主和副圈主可以修改圈子基本资料,发起公告,审核成员和管理成员,只有圈主可以设置副圈主; 5、登陆用户可以申请加入某一圈子,被批准后成为该圈子成员,成员也可以退出本圈子; 6、支持同城同乡、分类检索; 7、支持按标签TAGS索引内容; 8、支持开通多用户圈子; 9、支持首页内容随意更换; 10、会员可设置自己的栏目分类,所属地区,支持二级分类,栏目数量无限; 11、支持定义敏感关键字,自动替换敏感信息; 12、允许开启/关闭验证码; 13、结合平台广告系统,可方便的进行广告投放/管理;更新广告无需重新修改/发布每条信息; 14、支持模块复制建立多个频道使用; 15、支持为模块设置子域名访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值