10 C-Language open source project codes that are most worth reading

Source: Internet
Author: User
Tags lua sqlite

1. Webbench

Webbench is a very simple web site pressure measurement tool that is used under Linux. It uses fork () to simulate multiple clients accessing the URL we set at the same time, testing the performance of the site under pressure, and simulating up to 30,000 concurrent connections to test the load capacity of the site. Webbench use C language, code is too concise, the source add up to less than 600 lines. Download Link: http://home.tiscali.cz/~cz210552/webbench.html

2. tinyhttpd

TINYHTTPD is an ultra-lightweight HTTP server, developed in C language with only 502 lines (including comments), with a simple client that can read this code to understand the nature of an Http server. Download Link: http://sourceforge.net/projects/tinyhttpd/

3. Cjson

Cjson is a JSON codec in the C language, very lightweight, C files only more than 500 lines, the speed is very ideal.

Cjson also has several weaknesses, although the function is not very powerful, but the Cjson small body and speed is the most commendable. Its code is very well maintained, the structure is easy to understand and can be learned as a very good C language project. Project home: http://sourceforge.net/projects/cjson/

4. Cmockery

Cmockery is a lightweight framework that Google publishes for C unit testing. It is small, has no dependencies on other open source packages, and is less intrusive to the code being tested. Cmockery the source code line of less than 3K, you read the Will_return and mock source is at a glance.

Main Features:

    1. Free and open source, Google provides technical support;
    2. The lightweight framework makes testing faster and easier;
    3. Avoid the use of complex compiler features, the old version of the compiler, the compatibility is good;
    4. It is not mandatory to require the code to be tested to rely on the C99 standard, which is useful for the development of many embedded systems

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

5. Libev

Libev is an open source event-driven library based on the infrastructure provided by OS such as Epoll,kqueue. Known for its efficiency, it can unify IO events, timers, and signals to be processed in a single set of event-handling frameworks. Based on the reactor model, the efficiency is high, and the Code is streamlined (4.15 versions over 8,000 lines), which is a good resource for learning event-driven programming. Download Link: http://software.schmorp.de/pkg/libev.html

6. Memcached

Memcached is a high-performance distributed memory object caching system for dynamic Web applications to mitigate database load. It provides the speed of a dynamic database-driven Web site by caching data and objects in memory to reduce the number of times the database is read. Memcached is based on a hashmap that stores key/value pairs. Memcached-1.4.7 's code volume is acceptable, only about 10K lines. : http://memcached.org/

7. Lua

Lua was great, and Lua was invented by Brazilians, which made me uncomfortable, but not blushing, most jealous.

What makes me blush is the source code of LUA, 100% ANSI C, which is not doped at all. It is easy to compile on any platform that supports the ANSI C compiler. I've tried, it's a bit of crap. The number of LUA code is small enough, 5.1.4 only 1.5W lines, minus blank lines and comments can be estimated to 1W lines. : http://www.lua.org/

8. SQLite

SQLite is an open-source, embedded relational database that implements a self-contained, 0 configuration, transactional SQL database engine. It is characterized by its high portability, ease of use, compact structure, high efficiency and reliability. Small enough, roughly 30,000 lines C code, 250K. : http://www.sqlite.org/.

9. UNIX V6

UNIX V6 Kernel Source code includes device drivers, including about 10,000 lines, this number of source code, the beginner is able to fully understand. There is a saying that a person can understand the code limit of 10,000 lines, UNIX V6 kernel source code in terms of the number is exactly within this range. See here, do you have "if only 10,000 lines, maybe I can learn" idea?

On the other hand, recent operating systems, such as the latest version of Linux, are said to have more than 10 million lines of kernel source code. Even if you are not a beginner, it is virtually impossible to fully understand the entire code. : http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6

Ten. NETBSD

NetBSD is a free, highly-ported unix-like operating system that is the most current portable platform operating system and can be executed on many platforms, from 64bit Alpha servers to handheld devices and embedded devices. The slogan for the NetBSD program is: "Of course it runs NetBSD". Its simple design, code specification, and many advanced features make it highly acclaimed in the industry and academia. Due to its concise design and advanced features, it has excellent performance in both production and research, and it also has a complete source code supported by the user. Many programs can be easily obtained by NetBSD Packages collection. : http://www.netbsd.org/

10 C-language open source project codes that are most worth reading

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.