- 博客(39)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 深入浅出 libuv 的设计哲学与应用场景
libuv 是一个跨平台的异步 I/O 库,最初为 Node.js 开发,支持事件驱动的编程模型。它提供了对 I/O 轮询机制的高级抽象,包括句柄、流、文件 I/O 和线程功能。本文介绍了 libuv 的环境搭建步骤,包括克隆仓库、使用 CMake 构建和安装。此外,还提供了一个简单的 TCP 服务器示例,展示了如何使用 libuv 处理客户端连接、读取数据和回显消息。通过事件循环和回调机制,libuv 能够高效地管理异步操作,适用于高性能的网络应用开发。
2025-05-16 10:20:00
100
原创 Poco C++全面开发指南:开发环境搭建
POCO(全称POrtable COmponents)是由Applied Informatics Software Engineering开发的开源C++库,是一组开源C++类库集合,它的设计理念是“简单易用”和“模块化”,让我们能够快速构建高性能的应用程序,特别是以网络为中心的可移植跨平台应用程序。这些库与C++标准库完美集成,填补了其留下的许多功能空白。
2025-04-28 09:25:31
251
原创 Fast DDS快速上手:编写一个简单的C++发布者和订阅者应用
本节详细说明了如何通过C++ API分步创建一个包含发布者(publisher)和订阅者(subscriber)的简单Fast DDS应用程序。
2025-04-20 12:41:47
272
原创 解锁C++ gRPC:快速入门指南
gRPC(gRPC Remote Procedure Calls)是一种现代远程过程调用(RPC)框架,支持客户端与服务器应用之间的高效通信。
2025-04-18 16:46:23
334
原创 在 Windows 平台构建使用ZeroMQ
ZeroMQ是一个高性能的异步消息库,常用于分布式系统或网络通信。我们在C++编程时可以使用ZeroMQ 的 C++ 绑定库cppzmq开发需要消息传递功能的应用程序,cppzmq是ZeroMQ的C++绑定,允许在C++项目中使用ZeroMQ的功能。
2025-04-18 11:04:08
449
原创 Snowflake 算法的实现
snowflake 算法的核心思想是使用 41bit 作为毫秒数,10bit 作为机器的 ID(比如其中 5 个 bit 可作为数据中心,5 个 bit 作为机器 ID),12bit 作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是 0。单机上 ID 单调自增,毫秒数在高位,自增序列在低位,整个 ID 是趋势递增的。ID 可能不是全局递增,虽然 ID 在单机上是递增的,但是由于涉及到分布式环境下的每个机器节点上的时钟,可能会出现不是全局递增的场景。
2025-03-25 11:11:40
288
原创 Stopwatch的简单实现
Stopwatch 是一个简单计时器类,用来测量代码的执行时间。它可以用来跟踪某个任务或一系列任务的执行时间,常用于性能调优或监控任务的耗时。C++ 中的 库提供了一种高精度且类型安全的方式来处理时间。
2025-02-28 14:57:20
225
原创 ScopeGuard的简单实现
ScopeGuard 提供一个局部作用域的守护函数, 当ScopeGuard生命结束时自动执行预设的守护函数,类似于std::lock_guard<>对于std::mutex的处理。
2025-02-27 14:50:47
185
原创 oneTBB的编译使用
oneAPI Threading Building Blocks(oneTBB)是一个支持使用标准ISO C++代码进行可扩展并行编程的库。
2024-12-26 11:04:53
441
原创 嵌入式系统中自定义通信协议的一种实现
本文主要描述嵌入式系统中应用之间通信协议的自定义实现,虽然已经存在一些成熟的通信协议格式,例如JSON、xml之类的,但是为了降低通讯信息带宽,提高通信效率,在嵌入式系统中通常使用自定义的通信协议,传输层则根据使用场景选择合适的通信载体。
2024-07-23 14:38:16
403
C++用C#封装的COM组件的方式调用SapRfc函数
2018-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人