一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言開源項目集錦

玩轉(zhuǎn)嵌入式 ? 來源:玩轉(zhuǎn)嵌入式 ? 2023-05-26 16:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


	
今天給大家分享10個超贊的C語言開源項目,希望這些內(nèi)容能對大家有所幫助!

01Webbench

74469a46-fae3-11ed-90ce-dac502259ad0.png

Webbench是一個在 Linux 下使用的非常簡單的網(wǎng)站壓測工具。

它使用fork()模擬多個客戶端同時訪問我們設(shè)定的URL,測試網(wǎng)站在壓力下工作的性能。

最多可以模擬 3 萬個并發(fā)連接去測試網(wǎng)站的負(fù)載能力。Webbench使用C語言編寫,代碼非常簡潔,源碼加起來不到 600 行。

項目地址

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

02Tinyhttpd

744f830e-fae3-11ed-90ce-dac502259ad0.png

tinyhttpd是一個超輕量型Http Server,使用C語言開發(fā),全部代碼只有 502 行(包括注釋),附帶一個簡單的 Client

可以通過閱讀這段代碼理解一個 Http Server 的本質(zhì)。

項目地址

http://sourceforge.net/projects/tinyhttpd/

03cJSON

7458f948-fae3-11ed-90ce-dac502259ad0.png

cJSON是C語言中的一個JSON編解碼器,非常輕量級,C文件只有 500 多行,速度也非常理想。

雖然cJSON功能不是非常強(qiáng)大,但cJSON的小身板和速度是最值得贊賞的。

其代碼被非常好地維護(hù)著,結(jié)構(gòu)也簡單易懂,可以作為一個非常好的C語言項目進(jìn)行學(xué)習(xí)。

項目主頁

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

04CMockery

CMockery是google發(fā)布的用于C單元測試的一個輕量級的框架。

它很小巧,對其他開源包沒有依賴,對被測試代碼侵入性小。

CMockery 的源代碼行數(shù)不到3K,閱讀一下will_return和mock的源代碼就一目了然了。

主要特點

免費且開源,google 提供技術(shù)支持;

輕量級的框架,使測試更加快速簡單;

避免使用復(fù)雜的編譯器特性,對老版本的編譯器來講,兼容性好;

并不強(qiáng)制要求待測代碼必須依賴 C99 標(biāo)準(zhǔn),這一特性對許多嵌入式系統(tǒng)的開發(fā)很有用。

項目地址

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

05Libev

libev是一個開源的事件驅(qū)動庫,基于 epoll、kqueue 等 OS 提供的基礎(chǔ)設(shè)施。

其以高效出名,它可以將 IO 事件、定時器、和信號統(tǒng)一起來,統(tǒng)一放在事件處理這一套框架下處理。

基于 Reactor 模式,效率較高,并且代碼精簡(4.15 版本 8000 多行),是學(xué)習(xí)事件驅(qū)動編程的很好的資源。

項目地址

http://software.schmorp.de/pkg/libev.html

06Memcached

74624462-fae3-11ed-90ce-dac502259ad0.png

Memcached是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài) Web 應(yīng)用以減輕數(shù)據(jù)庫負(fù)載。

它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。

Memcached基于一個存儲鍵/值對的 hashmap。Memcached-1.4.7 的代碼量還是可以接受的,只有 10K 行左右。

項目地址

http://memcached.org/

07Lua

746f4874-fae3-11ed-90ce-dac502259ad0.png

Lua很棒,在任何支持 ANSI C 編譯器的平臺上都可以輕松編譯通過。

Lua 的代碼數(shù)量足夠小,5.1.4 僅僅 1.5W 行,去掉空白行和注釋估計能到 1W 行。

項目地址

http://www.lua.org/

08SQLite

74754c24-fae3-11ed-90ce-dac502259ad0.png

SQLite是一個開源的嵌入式關(guān)系數(shù)據(jù)庫,實現(xiàn)自包容、零配置、支持事務(wù)的 SQL 數(shù)據(jù)庫引擎。其特點是高度便攜、使用方便、結(jié)構(gòu)緊湊、高效、可靠。

足夠小,大致 3 萬行C代碼,250K。

項目地址

http://www.sqlite.org/

09UNIX v6

747d87cc-fae3-11ed-90ce-dac502259ad0.png

UNIX V6的內(nèi)核源代碼包括設(shè)備驅(qū)動程序在內(nèi)約有 1 萬行,這個數(shù)量的源代碼,初學(xué)者是能夠充分理解的。有一種說法是一個人所能理解的代碼量上限為 1 萬行,UNIX V6 的內(nèi)核源代碼從數(shù)量上看正好在這個范圍之內(nèi)。

看到這里,大家是不是也有“如果只有 1 萬行的話沒準(zhǔn)兒我也能學(xué)會”的想法呢?

另一方面,最近的操作系統(tǒng),例如 Linux 最新版的內(nèi)核源代碼據(jù)說超過了 1000 萬行。

就算不是初學(xué)者,想完全理解全部代碼基本上也是不可能的。

項目地址

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

10NETBSD

NetBSD是一個免費的,具有高度移植性的 UNIX-like 操作系統(tǒng)。

NetBSD 計劃的口號是:“Of course it runs NetBSD”。

它設(shè)計簡潔,代碼規(guī)范,擁有眾多先進(jìn)特性,使得它在業(yè)界和學(xué)術(shù)界廣受好評。

由于簡潔的設(shè)計和先進(jìn)的特征,使得它在生產(chǎn)和研究方面,都有卓越的表現(xiàn),而且它也有受使用者支持的完整的源代碼。

許多程序都可以很容易地通過 NetBSD Packages Collection 獲得。

審核編輯 :李倩



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141874
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3695

    瀏覽量

    43859
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70802

原文標(biāo)題:C語言開源項目集錦,足足有十個

文章出處:【微信號:玩轉(zhuǎn)嵌入式,微信公眾號:玩轉(zhuǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦

    ` 本帖最后由 eehome 于 2013-1-5 09:47 編輯 單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦`
    發(fā)表于 04-29 19:00

    嵌入式C-C++語言精華文章集錦

    分享:嵌入式C-C++語言精華文章集錦.pdf
    發(fā)表于 07-05 22:58

    單片機(jī)C語言知識點精華集錦(三)

    :  第十課 C51表達(dá)式語句及仿真器  第十一課 C51復(fù)合語句和條件語句  第十二課 C51開關(guān)分支語句  第十三課 C51循環(huán)語句  第十四課
    發(fā)表于 07-06 10:23

    嵌入式CC++語言精華文章集錦

    嵌入式CC++語言精華文章集錦
    發(fā)表于 08-03 08:45

    單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦

    單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦
    發(fā)表于 08-17 23:15

    單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦 ...

    單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦 ...
    發(fā)表于 08-18 09:11

    單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦

    `單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦`
    發(fā)表于 08-20 11:32

    學(xué)了C語言,能開發(fā)什么項目?

    觀,有圖為證。2017世界編程語言排名有些人會覺得掌握了C語言不能總是去開發(fā)別的語言,現(xiàn)實中學(xué)好了C都能開發(fā)哪些
    發(fā)表于 01-17 19:40

    C語言開源項目

    值得學(xué)習(xí)的C語言開源項目- 1. WebbenchWebbench是一個在linux下使用的非常簡單的網(wǎng)站壓測工具。它使用fork()模擬多個客戶端同時訪問我們設(shè)定的URL,測試網(wǎng)站在
    發(fā)表于 08-20 06:15

    C51單片機(jī)語言應(yīng)用實戰(zhàn)集錦

    C51單片機(jī)語言應(yīng)用實戰(zhàn)集錦分享
    發(fā)表于 04-15 11:31

    嵌入式C/C++語言精華文章集錦

    嵌入式C/C++語言精華文章集錦 面對一個人的大型C/C++程序時,只看其對struct 的使
    發(fā)表于 03-10 09:06 ?91次下載

    嵌入式 C C++語言精華文章集錦

    嵌入式 C C++語言精華文章集錦
    發(fā)表于 02-08 01:28 ?10次下載

    嵌入式C/C++語言精華文章集錦

    嵌入式C/C++語言精華文章集錦
    發(fā)表于 10-27 14:48 ?65次下載
    嵌入式<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++<b class='flag-5'>語言</b>精華文章<b class='flag-5'>集錦</b>

    有哪些值得學(xué)習(xí)的C語言開源項目詳細(xì)資料說明

    值得學(xué)習(xí)的C語言開源項目 - 1. Webbench Webbench是一個在linux下使用的非常簡單的網(wǎng)站壓測工具。它使用fork() 模擬多個客戶端同時訪問我們設(shè)定的URL,測試
    發(fā)表于 04-24 18:30 ?2次下載
    有哪些值得學(xué)習(xí)的<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>詳細(xì)資料說明

    i2c開源項目分享

    電子發(fā)燒友網(wǎng)站提供《i2c開源項目分享.zip》資料免費下載
    發(fā)表于 11-23 09:58 ?0次下載
    i2<b class='flag-5'>c</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>分享