(EXT) 10 C Open Source projects

Source: Internet
Author: User

    • Code Reading--10 C open Source projects
    • 1. Webbench
    • 2. Cmockery
    • 3. Libev
    • 4. Memcached
    • 5. Lua
    • 6. SQLite
    • 7. Redis
    • 8. Nginx
    • 9. UNIXv6
    • Ten. NETBSD
Code Reading-10 C open Source projects 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. 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

3. 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

4. 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/

5. 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/

6. 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/.

7. Redis

Redis is an open source data structure server written in ANSI C. Redis code is very easy to read, the code is neat, and the code is relatively small (4.5w lines, in fact, is not very small). Most are single-threaded, with little reliance on other libraries. : redis.io/

8. Nginx

Nginx ("Engine X") is a high-performance HTTP and reverse proxy server, also a IMAP/POP3/SMTP proxy server. Nginx was developed by Igor Sysoev, the second-most visited rambler.ru site in Russia, which has been in operation for more than four years. Igor release the source code in the form of a BSD-like license. Since Nginx was released for four years, Nginx has been known for its stability, rich feature set, sample configuration files and low system resource consumption.

Nginx Excellent In addition to the program structure and code style, Nginx source organization is also concise and clear, the structure of the directory hierarchy is clear, it is worth learning. : http://nginx.org/en/download.html.

9. UNIXv6

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/

(EXT) 10 C Open Source projects

Related Article

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.