XML 语法速查笔记

2018-10-11
阅读 3 分钟
2.5k
相比起 Json,XML 是一种相对古老和复杂、但功能更加强大的数据存储/传输格式。也因为其复杂,有一些语法需要记录一下,在使用多种语言进行 XML 操作的时候备查。

在 libevent 中使用 MariaDB(MySQL)

2018-10-02
阅读 4 分钟
5.5k
在之前我翻译的官方文档中提到了 MariaDB 提供了对异步 I/O 的支持。那篇文章是一个比较简要的介绍。不过实际适配中,官方也提供了一个完整适配 libevent 的示例代码。本文算是对我上述示例代码的阅读笔记吧。

在 C/C++ 异步 I/O 中使用 MariaDB 的非阻塞接口

2018-09-14
阅读 5 分钟
5.9k
对 C/C++,MySQL 提供的库传统上都是阻塞操作,因此适合多线程 / 进程服务器架构编程。但是如果用 C/C++ 编写服务器,往往对性能会有极致要求,此时采用非阻塞的异步 I/O 才是更好的框架。

基于汇编的 C/C++ 协程 - 实现

2018-08-01
阅读 8 分钟
7.9k
基于汇编的 C/C++ 协程(用于服务器),我之前已经在下面两篇文章中详细阐述了原理: 基于汇编的 C/C++ 协程 - 背景知识 基于汇编的 C/C++ 协程 - 切换上下文 而这篇文章,就终于是 C/C++ 协程的实现了。正如上面两篇文章所说的,我们需要实现的目标有两个: 有同步式服务器编程的顺序思路,便于功能设计和代码调试——我...

Python 调用 C 动态链接库,包括结构体参数、回调函数等

2018-02-23
阅读 6 分钟
17.6k
研究了一些资料,采用 python 的 ctypes 来完成这项工作。已经验证通过,本文记录一下适配流程。验证采用 cpp 来设计,不过暂时还没有涉及类的内容。以后如果需要再补足。

基于汇编的 C/C++ 协程 - 切换上下文

2018-02-06
阅读 5 分钟
8.4k
其中调度,其实在技术实现上与其他的线程、进程调度没有什么特别的差异,同时也要看具体业务的需求。限制 C/C++ 协程应用的最大技术条件是上下文切换。理由在前文也说了。

基于汇编的 C/C++ 协程 - 背景知识

2018-01-31
阅读 4 分钟
7.6k
近几年来,协程在 C/C++ 服务器中的解决方案开始涌现。本文主要阐述以汇编实现上下文切换的协程方案,并且说明其在异步开发模式中的应用。 本文地址:[链接] 首先,我们来看一下 C/C++ 服务器开发的历史。 参考资料 协程 - 维基百科,自由的百科全书 异步IO - 维基百科,自由的百科全书 基于 epoll 设计类似 libevent 的...

高性能磁盘 I/O 开发学习笔记 -- 软件手段篇

2017-11-02
阅读 4 分钟
9.4k
上一篇文章我们讲了一下硬盘(磁盘 & SSD)在硬件上的一些限制,总结了两个优化硬盘 I/O 的方向。本篇我们就从 Linux 软件开发的角度,讲一下在软件设计中我们应该如何提高硬盘 I/O。

高性能磁盘 I/O 开发学习笔记 -- 硬件原理篇

2017-10-27
阅读 5 分钟
6.5k
曾经做嵌入式开发的我,现在做服务器开发,很多思路要转变。今天学习了服务器高性能IO设计,同时自己也还发散开去学习了其他的一些参考资料,顺便结合自己已有的一些知识,做为自己的学习笔记,总结和记录一下吧~~

在 C++ 中实现 super 关键字

2017-07-08
阅读 3 分钟
13.9k
我的工作历程是 C ==> Objective-C ==> C++,所以我的 OOP 习惯很大程度上是来自于 Objective-C 的。玩 C++ 的时候忽然就很不习惯了:因为没有 super 啊。于是就有了这篇文章。

Google Protocol Buffer(protoc, protobuf, pb)学习笔记

2017-07-07
阅读 4 分钟
24.7k
以前玩 C,Json、XML 什么的看多了,现在开始玩 C++,才发现我了解的世界太小了——原来 C++ 届还有 Google Protocol Buffers 这么好的东西。果然在 PC 上做开发真是好,不用考虑可执行程序的 size,可以放心放肆地用 C++。