C++ 是最重要的编程语言之一。它既可以进行、过程化程序设计,又可以进行使用抽象数据类型的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。然而,由于标准库和社区生态的种种问题,C++ 在 Web 服务端的发展并不如人意。
在现代软件开发中,插件是一种常见的扩展机制,它可以使系统更加灵活和可扩展。本文将介绍如何使用现代C++来实现一个简单但功能强大的插件框架。什么是插件框架?插件框架是一种允许在应用程序中动态加载和卸载插件的机制。
本文适合有 C++ 基础的朋友本文作者:HelloGitHub-AnthonyHelloGitHub 推出的《讲解开源项目》系列,本期介绍基于 C++ 的 RPC 开源框架——rest_rpc,一个让小白也可以快速(10 分钟)开发 RPC 服务的框架。
简述workflow项目地址 : https://github.com/sogou/workflowworkflow是搜狗开源的一个开发框架。可以满足绝大多数日常服务器开发,性能优异,给上层业务提供了易于开发的接口,却只用了少量的代码,举重若轻,而且代码整洁干净易读。
POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、共享库和类加载、套接字以及网络协议包括:HTTP、 FTP、SMTP 等;
在底层设计上, executions 与 ranges 非常类同, 都是先解决本身的 DSL 表达的问题, 再来构建更上层的应用, 区别在于 ranges 主要是使用了 CPO 以及|运算符来做到这一点, 而 executions 因为本身的复杂度基于 CPO 引入了更复杂的tag invoke机制, 来组织自己的 DSL, 因为这种表达代码层面有很高的复杂度, 也被社区广泛的戏称为 “存在大量的代码噪声”, 或者说开发了一种“方言”. 但不可否认, 通过引入底层的 DSL 支撑特性, executions 很好的实现了结构化并发.
StandardTemplate Library:标准模板库C POSIX library : POSIX系统的C标准库规范ISO C++ Standards Committee :C++标准委员会框架C++通用框架和库Apache C++ Standard Library:是一
事情到这个点就有点尴尬了, 原有的asio, 架构层面来说, 跟新的execution是存在落差的. 而项目实践上来说, asio相当稳扎稳打, 而以libunifex当前的状态来说, 离工业化使用其实是有一定距离的. 但asio作者在21年时候的两篇演讲:Talking Async Ep1: Why C++20 is the Awesomest Language for Network Programming。
在介绍项目之前先来看一张图,性能绝对第一,吊打java、go、php、c#等一众语言框架。Drogon是一个跨平台框架,它支持Linux,也支持macOS、FreeBSD,OpenBSD,HaikuOS,和Windows。
它一个高质量的事件驱动型的网络库,其核心代码不超过4500行,使用 non-blocking IO + one loop per thread模型,适合开发 Linux 下的多线程服务端应用程序,通过阅读源码还可学习到 C++ 语言、Linux 网络编程等后端知识。