10个经典的C++源码

您所在的位置:网站首页 cjson使用linux 10个经典的C++源码

10个经典的C++源码

#10个经典的C++源码| 来源: 网络整理| 查看: 265

10

个经典的

C++

源码

开源世界有许多优秀的开源项⽬,我选取其中⼗个最优秀的、最轻量级的

C

语⾔的项⽬,希望可以为

C

语⾔开发⼈员提供参考。

1. Webbench

2. Tinyhttpd

3. cJSON

4. CMockery

5. Libev

6. Memcached

7. Lua

8. SQLite

9. UNIX v6

10. NETBSD

⼗个最值得阅读学习的

C

开源项⽬代码

1. Webbench

Webbench

是⼀个在

linux

下使⽤的⾮常简单的⽹站压测⼯具。它使⽤

fork()

模拟多个客户端同时访问我们设定的

URL

,测试⽹站在压⼒下⼯作

的性能,最多可以模拟

3

万个并发连接去测试⽹站的负载能⼒。

Webbench

使⽤

C

语⾔编写

代码实在太简洁,源码加起来不到

600

⾏。下载

链接:

2. Tinyhttpd

tinyhttpd

是⼀个超轻量型

Http Server

,使⽤

C

语⾔开发,全部代码只有

502

(

包括注释

)

,附带⼀个简单的

Client

,可以通过阅读这段代码理

解⼀个

 Http Server 

的本质。下载链接:

3. cJSON

cJSON

C

语⾔中的⼀个

JSON

编解码器,⾮常轻量级,

C

⽂件只有

500

多⾏,速度也⾮常理想。

cJSON

也存在⼏个弱点,虽然功能不是⾮常强⼤,但

cJSON

的⼩⾝板和速度是最值得赞赏的。其代码被⾮常好地维护着,结构也简单易

懂,可以作为⼀个⾮常好的

C

语⾔项⽬进⾏学习。项⽬主页

:

4. CMockery

cmockery

google

发布的⽤于

C

单元测试的⼀个轻量级的框架。它很⼩巧,对其他开源包没有依赖,对被测试代码侵⼊性⼩。

cmockery

源代码⾏数不到

3K

,你阅读⼀下

will_return

mock

的源代码就⼀⽬了然了。

主要特点:

1. 

免费且开源,

google

提供技术⽀持;

2. 

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

3. 

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

;

4. 

并不强制要求待测代码必须依赖

C99

标准,这⼀特性对许多嵌⼊式系统的开发很有⽤

下载链接:

5. Libev

libev

是⼀个开源的事件驱动库,基于

epoll

kqueue

OS

提供的基础设施。其以⾼效出名,它可以将

IO

事件,定时器,和信号统⼀起来,统

⼀放在事件处理这⼀套框架下处理。基于

Reactor

模式,效率较⾼,并且代码精简(

4.15

版本

8000

多⾏),是学习事件驱动编程的很好的资

源。

6. Memcached

Memcached 

是⼀个⾼性能的分布式内存对象缓存系统,⽤于动态

Web

应⽤以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取

数据库的次数,从⽽提供动态数据库驱动⽹站的速度。

Memcached 

基于⼀个存储键

/

值对的

 hashmap

Memcached-1.4.7

的代码量还是可以

接受的,只有

10K

⾏左右。下载地址:

7. Lua

Lua

很棒,

Lua

是巴西⼈发明的,这些都令我不爽,但是还不⾄于脸红,最多眼红。

让我脸红的是

Lua

的源代码,百分之⼀百的

ANSI C

,⼀点都不掺杂。在任何⽀持

ANSI C

编译器的平台上都可以轻松编译通过。我试过,真

是⼀点废话都没有。

Lua

的代码数量⾜够⼩,

5.1.4

仅仅

1.5W

⾏,去掉空⽩⾏和注释估计能到

1W

⾏。下载地址:

8. SQLite



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3