值得学习的C语言开源项目

- 1. Webbench 

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

http://home.tiscali.cz/~cz210552/webbench.html

- 2. Tinyhttpd

下载链接:http://sourceforge.net/projects/tinyhttpd/

- 3. cJSON

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

http://sourceforge.net/projects/cjson/

- 4. CMockery

主要特点:

http://code.google.com/p/cmockery/downloads/list

- 5. Libev

下载链接:http://software.schmorp.de/pkg/libev.html

- 6. Memcached

数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。

http://memcached.org/

- 7. Lua

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

http://www.lua.org/

- 8. SQLite

嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大致3万行C代码,250K。

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

操作系统,例如Linux 最新版的内核源代码据说超过了1000 万行。就算不是初学者,想完全理解全部代码基本上也是不可能的。

http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6

- 10. NETBSD

下载地址:http://www.netbsd.org/

C++ 资源大全

智能、数据库、图片处理、机器学习、日志、代码分析等。

 

标准库

算法和函数等。

C++ Standard Library

 

框架

 

 

人工智能

btsk

 

异步事件循环

Boost.Asio

 

音频

 

 

生态学

 

 

压缩

 

 

并发性

 

 

容器

C++ B-tree

 

密码学

Bcrypt

 

数据库

 

 

调试

 

 

游戏引擎

Cocos2d-x

 

图形用户界面

CEGUI

 

图形

bgfx

 

图像处理

Boost.GIL

 

国际化

gettext

 

Jason

frozen

 

日志

Boost.Log

 

机器学习

Caffe

 

数学

Armadillo

 

多媒体

GStreamer

 

网络

ACE

 

物理学

 

 

机器人学

MOOS-IvP

 

科学计算

FFTW

 

脚本

ChaiScript

 

序列化

Cap’n Proto

 

视频

libvpx

 

虚拟机

CarpVM

 

Web应用框架

Civetweb

 

XML

 

 

多项混杂

 

 

软件

C/C++编译器列表

Clang

 

在线编译器

 

 

调试器

 

 

集成开发环境(IDE)

 

 

构建系统

Bear

 

静态代码分析

 




转自:https://blog.csdn.net/darennet/article/details/83104267

https://fingerecho.com/jpg/the-cpp-useful-items.png