- 博客(8)
- 资源 (14)
- 收藏
- 关注
原创 c/c++内存重叠
memcpy 与 strcpy 都没有内存重叠的问题,实际可以根据需要使用 memmove。本文介绍了 C++ 中的内存重叠问题,指出了指针的使用是内存重叠的主要原因,并提供了避免内存重叠的方法,如尽量避免使用指针,确保指针指向的内存区域与其他区域没有交叉部分,使用安全的内存操作函数等。此外,还介绍了memmove函数如何避免内存重叠的影响。
2023-03-23 19:32:06
845
1
原创 使用 zeromq与cppzmq 程序退出遇到的坑
在使用zeromq 退出的时候还遇到一点坑,对于服务deaman(守护进程)化的进程可能会遇到这个问题。
2023-03-23 19:26:23
683
原创 近期调研和使用 zeromq 与 cppzmq 使用中的一些问题
消息分片允许将多个消息封装成一条消息。在发送自定义协议数据时,我们经常需要在消息前“填充”一个包头。如下代码,在发送的时候加上。后接收也需要分片接收,这个确实是比较麻烦的地方。个人觉得如果改成一次接收会更好,因为这样更符合使用的“直觉”。接收的其实是“帧”数据,多个“帧”拼装成一个消息。),表示后面还有消息。的消息和最后一段消息拼装成一条完整的消息发送。接收数据(这点比较麻烦)。接收的是一个完成的包,后面才知道。分片,那么在接收时也需要分多次。需要注意的是,如果发送使用了。标识(对应 zeromq。
2023-03-23 19:23:33
227
原创 linux自定义man搜索路径
来添加自定义路径的man文档。使用vim打开man_db.conf(注意需要root权限),找到MANDATORY_MANPATH位置,在其下方添加搜索路径。例如,如果我们安装了zeromq库,并将其安装到自定义位置。保存后,就可以使用man来查询库的文档了。我们可以通过修改man的命令搜索配置文件。,那么zeromq man文档的路径就是。
2023-03-23 19:22:46
633
原创 linux网络编程中的errno处理
本文介绍了在 Linux 网络编程中处理 errno 的方法。在接受连接、建立连接和连接读写阶段可能会遇到多种 errno,如 EINTR、EAGAIN、EWOULDBLOCK、ECONNRESET、EPIPE、ENOTCONN、ETIMEDOUT、ECONNREFUSED、EINVAL 等,需要对一些 errno 进行忽略,对于其他错误则需要执行错误回调或者直接处理错误。
2023-03-23 19:18:40
947
转载 Unix环境高级编程(三)信号专题(1)
Unix环境高级编程(三)信号专题(1)原文连接:访问原文中断的概念要了解信号的概念,先要了解什么是中断?中断是系统对于异步事件的响应,所谓异步事件的响应就是指: 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序生活中的中断和计算机系统中的中断。中断的组成包括:中断信号 * 中断源 * 现场信息 * 中断处理程序 * 中断向量表这和我们生活中的一些例子很像,比
2016-06-14 10:24:07
431
Boost.Asio C++ Network Programming Cookbook
2018-05-14
Go语言编程
2015-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人