- 博客(76)
- 收藏
- 关注
原创 2. Linux C++ muduo 库学习——原子变量操作头文件
GCC 提供的一个内置函数,用于实现原子的测试并设置操作。将 ptr 所指向的内存位置的值设置为 value,并返回 ptr 原来的值,整个操作是原子的 (中途不允许其它线程打断)。1. 多线程编程:在多线程环境中,一个线程可能会修改某个变量,而另一个线程需要实时感知这个变量的变化。:一个底层的原子操作函数,用于在多线程环境中实现原子的比较和交换操作(中途不允许其它线程打断)。: 用于实现原子操作的内置函数,将 ptr 所指向的值加上 value,并。(中途不允许其它线程打断)
2025-12-04 23:29:28
300
原创 std::bind 的简单使用
std::bind 是 C++11 引入的一个标准库函数,定义在 头文件中,其主要功能包括创建新的可调用实体、绑定参数值、调整参数顺序、将可调用对象与其参数绑定成仿函数以及减少可调用对象传入的参数
2025-11-13 23:08:47
186
原创 1. Linux C++ muduo 库学习——库的编译安装
进入到 build 目录下面的 lib 目录,将所有文件拷贝到。下面我们测试一下 boost 库。创建一个 C++ 文件。
2025-11-02 12:52:49
169
原创 [SIGPIPE 错误] 一个 Linux socket 程序,没有任何报错打印直接退出程序
在编写Linux socket程序时,遇到程序无报错直接退出的问题。通过一个demo程序,发现当客户端关闭连接后,服务器端尝试向已关闭的socket写入数据时,会触发SIGPIPE信号,导致进程终止。SIGPIPE信号的默认行为是终止进程,因此程序在打印[info] 1后直接退出,未打印[info] 2。解决方法是在程序开头忽略SIGPIPE信号,使用signal(SIGPIPE, SIG_IGN);。此问题在大型项目中难以定位,建议在开发初期就处理此类信号问题,以避免进程意外终止。
2025-05-11 10:55:22
299
原创 Linux 中进程的 nice 值对程序的占用的影响测试
nice 值通过调整进程的优先级,间接控制 CPU 时间片的分配权重,从而实现对进程调度行为的精细控制。它是 Linux 系统中平衡实时任务与后台任务资源占用的核心工具之一。优先级调整核心机制:nice 值(范围 -20 到 19)直接控制进程的调度优先级。低 nice 值(如 -20):表示高优先级,进程更容易被调度器选中,获得更多 CPU 时间片。高 nice 值(如 19):表示低优先级,进程被调度的频率降低,CPU 时间片分配减少。
2025-03-26 21:59:56
629
原创 openssl 中 EVP_aes_256_gcm() 函数展开
在 openssl 中搜索,只能在头文件搜索到 EVP_aes_256_gcm() ,不能直接搜索到它的实现。文件:openssl-1.1.1g/crypto/evp/e_aes.c。
2025-02-03 16:30:44
759
转载 工字不出头
了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题 ,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。多看看其他方面的书,金融,财会,进出口,税务,法律等等,为以后做一些积累,以后的用处会更大!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,先把东西准备好,等待机会,否则,有了机会也抓不住!
2024-06-10 20:18:09
225
原创 dibbler-DHCPv6 的开源软件介绍
在这种中则码中,可以部署其他代理,即所谓的 Relay,用于客户端和远程服务器之间的中继通信。独立的,轻量级的中继实现也是可用的。服务器冗余/最佳服务器发现—当客户端检测到多个可用服务器时(通过接收多个 ADVERTISE message )时,它会选择最好的一个,并将剩余的服务器作为备份。首选服务器只能租用3,因此客户端向剩余的2个地址发送请求到剩余的服务器之一。messages)——这是最常见的case:客户端发现本地网络中可用的服务器,然后请求一个由服务器授予的地址(可能还有DNS配置等其他选项)。
2024-06-04 00:09:00
1739
原创 dibbler-DHCPv6 的开源框架(C++ 实现)1
IPv6 DHCPv6 协议的开源框架:dibbler下载地址:https://github.com/tomaszmrugalski/dibbler.git。
2024-06-02 23:29:56
774
原创 setenv.c:74:5: warning: implicit declaration of function ‘putenv’ [-Wimplicit-function-declaration]
implicit declaration of function ‘putenv’
2024-04-17 21:55:36
271
原创 【进程】利用 Linux 下的 /proc/pid/ 的内容学习进程
Linux /proc/pid,一个进程的重要信息集合。本文简单对其作了介绍
2023-10-31 23:35:36
1077
原创 【笔记】关于寄存器的一些理解
做嵌入式Linux 方向,跟寄存器打交道也有一段时间了,感觉寄存器就是一个比较特殊的东西。CPUaddrvalue0+1+1LED驱动LED亮还是暗CPUCPUCPU所以,在一些芯片的手册中,都可以看到很多寄存器的地址和对应的值(多的有几百上千个,在文档中排列着……),不同的值有不同的功能。
2023-10-23 23:59:10
516
原创 【笔记】ssh link-local 地址登录
IPv6 中在局域网中是使用 link-local 地址通信的。其以开头。它的形式跟物理地址mac关联。mac。
2023-09-26 23:00:26
804
翻译 Python 调用树莓派的 camera
环境搭建树莓派的系统安装,摄像头安装就省略了,如果需要了解,直接百度 树莓派 camera 之类的关键词就能搜到。现在默认安装好了树莓派的系统,安装好了摄像头的基础上,讲解怎么使用 Python 操纵树莓派的摄像头。1. 树莓派的命令行操作下面的命令在连接并开放摄像头功能后会自动启用拍摄照片保存在桌面raspistill -o Desktop/image.jpg改变照片 宽(width) 和 高(height)raspistill -o Desktop/image-small.
2021-12-07 10:49:05
3310
原创 记一道笔试题 getline() 引起的错误题
1. 起因今天(2021-08-15)做米哈游的笔试:题目:假设刚开始字符串为空,可以在字符串任意位置加上"ab",请你输入一个字符串,只含有'a'和'b',请你判断是不是能把一个空字符串变为目标字符串 s。可以输出"YES",不可以输出"NO"。第一行输入 t:样例数目之后t行: 每一行输入一个目标字符串 s。(1<=s.length<=100)eg:3aabbaNOaabbYESabYES本来思路对的,结果栽在了 getline 函数中。2. getline()
2021-08-15 23:05:10
888
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1