我们学习每一个编程语言都是有一个项目实战的过程,而对于开发类的编程语言,除了适当的做项目程序外,学习了解其他的开源项目更是一个关键,就比如我们的C/C++编程语言的学习。

前阵子有一个小伙伴就问到我,我学好C/C++基础后,应该怎么找一些适合C/C++提升的开源项目学习一下,让我推荐一下,我想了一下,又上网参考了一下,就给他列举了一些,顺便记下来,分享给各位在学习C/C++的小伙伴,希望能够帮助到大家!

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

Tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。下载链接链接:GitHub - EZLippi/Tinyhttpd

高性能web服务器nginx: download

C语言写的事件驱动框架libevent/libevent · GitHub

ACE:C++面向对象网络变成工具包

Boost.Asio:用于网络和底层I/O编程的跨平台的C++库

Casablanca:C++ REST SDK

cpp-netlib:高级网络编程的开源库集合

Dyad.c:C语言的异步网络

libcurl :多协议文件传输库

Mongoose:非常轻量级的网络服务器

Muduo :用于Linux多线程服务器的C++非阻塞网络库

net_skeleton :C/C++的TCP 客户端/服务器库

nope.c :基于C语言的超轻型软件平台,用于可扩展的服务器端和网络应用。 对于C编程人员,可以考虑node.js

Onion :C语言HTTP服务器库,其设计为轻量级,易使用。

POCO:用于构建网络和基于互联网应用程序的C++类库,可以运行在桌面,服务器,移动和嵌入式系统。

RakNet:为游戏开发人员提供的跨平台的开源C++网络引擎。

Tuf o :用于Qt之上的C++构建的异步Web框架。

WebSocket++ :基于C++/Boost Aiso的websocket 客户端/服务器库

ZeroMQ :高速,模块化的异步通信库

这个网站整理的比较全,可以看看ezlippi.com 的页面另外编写高性能web服务器当然离不开缓存啦,可以关注下Redis和Memcached.

最后,学了C/C++,走遍天下都不怕!加油吧!未来的C/C++工程师!另外,关于提升C/C++编程能力以及问题交流的话,可以到访q群--先5692;后68376,欢迎一起进步!

优秀的开源项目C_适合提高C/C++、网络编程能力的开源项目!不要错过,赶紧收藏...相关推荐

  1. 怎样提高自己的Java编程能力?

    怎样提高自己的Java编程能力?要回答这个问题其实很简单.按照一般学习规则来执行就可以了,那JAVA编程能力一般来说都能提高.这个一般的学习规则是什么呢?不用多说,肯定就是大家常用的多看,多记,多练, ...

  2. C++网络编程方面的开源项目

    Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力. ...

  3. 基于QT的【第一个项目】设计+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作

    基于QT的第一个项目+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作 第一阶段 网络编程局域网TCP/IP聊天QT实现 main.c ma ...

  4. 团队协助 开源项目_适合小团队的协作工具,良心开源项目管理工具

    3人左右的研发团队可以使用vika维格表来进行研发项目管理. 小团队的项目管理不复杂,假如在使用项目工具时,还要跳转到其他平台进行相关的信息处理,那这款项目工具,你就放心地拉黑它吧.综合大大小小项目工 ...

  5. 高客单价项目,适合新手操作的网络项目

    你可能会抱怨错过了某某项目-- 其实做项目最容易成功的就是高客单价的项目. 人们都说"男人好se,女人爱美,老人怕si,孩子怕笨",顺着这样的思路来找项目,赚钱就简单多了. 那我们 ...

  6. 小齐是如何提高自己的「编程能力」的?

    上周的投票,大家最关心的还是提高技术,那我们今天就来聊聊这个话题. 之前主要分享的多是算法和数据结构方面(年后继续),因为我认为算法和数据结构是程序员最最最重要的内功,但是并不是唯一. 我自己作为一个 ...

  7. 我是如何提高自己的「编程能力」的?

    上周的投票,大家最关心的还是提高技术,那我们今天就来聊聊这个话题. 之前主要分享的多是算法和数据结构方面(年后继续),因为我认为算法和数据结构是程序员最最最重要的内功,但是并不是唯一. 我自己作为一个 ...

  8. 这个 HTTP 实战项目,帮你理清 Go 网络编程的底层逻辑

    极客时间学习者超两万人的 HTTP 热门课来啦,掌握HTTP的重要性我就不多说了. 还是老规矩,扫码购买成功后提供订单截图给我,我会把20元返现悉数退回给你,相当于69元即可得到一个完全掌握HTTP的 ...

  9. Linux网络编程--FTP云盘项目

    FTP云盘 FTP就是文件传输协议.用于互联网双向传输,控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间. server #include <stdio.h> ...

最新文章

  1. 解决umount.nfs: /data: device is busy 问题
  2. 有关MongoDB数据库设计的问题
  3. python关系运算符可以连续使用_python学习笔记-字符串拼接关系运算符逻辑运算符...
  4. 后端学习 - 计算机网络
  5. Firefox鼠标手势插件在哪安装 火狐浏览器鼠标手势怎么用
  6. 参数估计_状态估计的基本概念(1)参数估计问题
  7. solution for python can not import local module
  8. mongodb集群数据同步及故障演练
  9. C语言和设计模式(之组合模式)
  10. hdfs开机启动流程
  11. 细粒度图像分析进展综述(转)
  12. 免费、无版权约束、可商用的优质图片素材网站合集
  13. 计算机启动项在什么地方找,如何查看电脑开机启动项_系统开机启动项快捷键 - 学无忧...
  14. 计算机保研面试中,都有哪些令人窒息的问题?
  15. linux7重置密码操作,在CentOS 7/RHEL 7系统上重置root密码的方法
  16. matlab微积分如何计算器,如何用matlab对这个函数进行积分。 请问这个公式是如何算出来的?使用微积分吗?...
  17. 机器学习超详细实践攻略(9):手把手带你使用决策树算法与调参
  18. Python——通过while、for、if—else完成一个地铁乘车消费计算器
  19. 【审稿意见】科研菜鸟如何攥写审稿意见?万能模板!!!
  20. i.MX6ULL GPIO

热门文章

  1. 作为一名前端开发工程师,你必须掌握的WEB模板引擎:Handlebars
  2. 【转】为控制台窗口建立消息队列
  3. DM8168 TILER(3)
  4. ThinkPHP中where()方法的使用
  5. 我能够为大家提供什么内容呢?
  6. 博客园开始对X++语言语法高亮的支持
  7. 使用K-Means对美因河畔法兰克福的社区进行聚类
  8. 数据eda_关于分类和有序数据的EDA
  9. java returnaddress,JVM之数据类型
  10. jyputer notebook 、jypyter、IPython basics