10个经典的C++源码 |
您所在的位置:网站首页 › cjson使用linux › 10个经典的C++源码 |
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 是 发布的⽤于 C 单元测试的⼀个轻量级的框架。它很⼩巧,对其他开源包没有依赖,对被测试代码侵⼊性⼩。 cmockery 的 源代码⾏数不到 3K ,你阅读⼀下 will_return 和 mock 的源代码就⼀⽬了然了。 主要特点: 1. 免费且开源, 提供技术⽀持; 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 |