- 博客(9)
- 收藏
- 关注
原创 从系统调用到 glibc:一文看懂 Linux 标准库工作机制
glibc 内部的数据结构被破坏1.malloc 被破坏free list 错乱 | chunk header 被改表现:double free;随机崩溃2.stdio 被破坏FILE* 结构损坏表现:printf 崩溃;输出乱码;死锁3.锁状态损坏mutex 状态错乱表现:死锁 / 卡死。
2026-04-14 22:24:50
198
1
原创 Linux SIGIO 信号风暴导致进程崩溃无堆栈无日志解决思路
SIGIO 不是“回调机制”,而是:异步信号(类似中断)内核路径:硬件中断 ->驱动 wakeup / kill_fasync() -> 发送 SIGIO 给进程 ->内核设置 pending signal ->调度到用户态 ->执行 signal handler。
2026-04-13 23:08:12
383
1
原创 嵌入式 / 机器人多任务噩梦?用 nice+SCHED_RR 解决多传感器 CPU/IO 资源竞争。深入浅出Linux 线程调度以及线程和进程的关系
在嵌入式 Linux、ROS 机器人、视觉 / 激光 / 红外多传感器融合系统中,是最常见的性能瓶颈:1.红外 / 深度相机、IMU、雷达、串口传感器同时高频读写,2.图像预处理、点云拼接、定位算法等高耗 CPU 任务,
2026-04-08 22:30:17
384
1
原创 C++ 源码保护终极玩法:把实现 “锁” 进库里,只露接口给别人用;以及发现库重名,CPU该如何“抉择呢”
主程序运行过程中动态链接库(.so / .dll)存在两个头文件,里面都有重名函数没有 namespace主程序调用这个函数问题:主程序到底会调用哪个函数?会出错吗。
2026-04-07 23:02:50
312
1
原创 promise和future+队列实现多线程非堵塞异步通信模型
众所周知,自C++11引入至今,promise和future这对异步通信的把手属实是好用;故在机器人系统/多传感器的嵌入式系统中,多个模块间的通信不可忽视。小结:本文主要是通过promise+future实现异步通信,对于线程的开辟开销以及上下文的切换的代价,将会在后续的编写的协程中一并解决。因此,基于异步消费者队列+promise/future以及万能模板实现一个简单的非堵塞异步通信模型。显而易见的是,处理这些任务可能会堵塞,可引用异步执行器或者对多个通信进行分组区分线程。
2026-03-31 23:00:39
14
原创 C++编程:仿写c++17的std::string_view
在性能敏感的应用场景中,如网络库和系统编程,频繁的字符串拷贝会导致显著的性能开销。C++17 引入的 std::string_view 能有效减少不必要的拷贝操作。然而,由于项目要求只能使用 C++14,因此我们需要自己实现一个类似的 StringView 类来代替 std::string_view,以优化性能。其依靠字符串指针地址以及长度代替整个字符串std::string。
2026-03-24 22:51:52
22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅