-
-
C++网络编程之解决粘包问题(c# socket 粘包)
在网络通信中,经常会遇到“粘包”(Packet Coalescing)或者叫“数据包合并”现象。最主要的原因TCP协议是一种基于流的传输层协议,数据是没有边界的,或者说不保证数据包的边界与应用层消息的边界完全一致。当发送端连续发送多个小的数据包时,由于TCP协议为了提高网络效率可能会将这些小的数据包...
07月23日[编码文章]浏览:24
-
C++ 使用Poco库的定时器(cpp定时器)
C++中我们想用定时器该怎么弄了,可以借助Poco强大的能力来完成。Poco C++库是:一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa;...
07月23日[编码文章]浏览:23
-
c++使用iocp读写文件(c++ iocp)
以下是简单的示例代码:#include <iostream> #include <Windows.h> using namespace std; // 定义文件句柄和I/O操作信息结构体 HANDLE hfile; OVERLAPPED overlap; DWORD W...
07月23日[编码文章]浏览:23
-
c++ 小知识点(c++的知识点)
1 数组初始化int a[]={1,2,3}; 这种方式初始化,大括号里写了几个元素那么数组里就有几个元素,相当于int a[3]={1,2,3} int a[3]={0}; 这样是将a中的所有元素初始化为0; int a[4]={1,2}; 这样是将a[0]初始化为1,a[1]初始化为2,其他...
07月23日[编码文章]浏览:23
-
libevent源码分析之bufferevent使用详解
libevent的bufferevent在event的基础上自己维护了一个buffer,这样的话,就不需要再自己管理一个buffer了。先看看struct bufferevent这个结构体struct bufferevent { struct event_base *ev_base; const s...
07月23日[编码文章]浏览:25
-
C#调用C++编写的DLL需要通过P/Invoke机制实现
一、C++ DLL的导出配置1. 避免名称修饰 使用extern "C"防止C++函数名被修饰,确保C#能正确识别函数名: cpp extern "C" __declspec(dllexport int Add(int a, int b { return a...
07月23日[编码文章]浏览:24
-
ringbuffer 消息队列 内存池 性能优化利器
简约而不简单的ringbuffer最近在研究srsLTE的代码,其中就发现一个有意思的数据结构------ringbuffer。...
07月23日[编码文章]浏览:17
-
百行代码实现FFmpeg播放器:C++与SDL的完美协作
引言:多媒体开发的入门捷径嘿,大伙好啊,我是Henry。现在这短视频内容多得都快“爆炸”啦,搞明白音视频处理的原理可太重要了。今儿个我这文章呢,直接用一个就一百行左右的C++程序,再结合FFmpeg和SDL这俩库,做出一个基础但该有的功能都有的视频播放器。这个项目不光适合咱们学习多媒体开发的基础,也...
07月23日[编码文章]浏览:18
-
C++中的ring_span lite库:高效环形缓冲区视图的实现与应用
引言在现代软件开发中,高效和灵活的数据结构是至关重要的。特别是在需要实时数据处理和事件队列管理的场景中,环形缓冲区(Ring Buffer)作为一种高效的数据结构,能够提供快速的元素插入和删除操作。ring_span lite是一个开源的C++库,它实现了环形缓冲区的视图,类似于标准库中的std::...
07月23日[编码文章]浏览:18
