分类目录归档:研发dev
发表评论
探索CPU的调度原理
eBPF—捕获进程启动/退出事件
上一次,我们尝试了用户空间自定义函数探测,里边会用到进程ID参数,那么实际使用场景下,我们可能需要能检测到进程的拉起和退出,今天就一起来实现下这个小功能。
eBPF—使用符号表offset探测函数调用
eBPF—使用uprobe探测用户程序函数调用
eBPF—使用kprobe探测内核系统调用
eBPF Map—内核空间与用户空间数据传递的桥梁
eBPF—初探Linux内核扩展
C++使用union+struct实现bit协议的赋值与解析
在进行嵌入式开发的过程中,经常会遇到通信协议是按bit位定义的情况,比如协议一共6个byte字节,每个byte一共8bit位,但是传输的很多数据用1、2个bit就足够了,这时协议会按bit定义,如何方便快捷的进行bit位的赋值和读取,即为本文讲解的内容。
C++ enum枚举的输出重载
我们在编写程序时经常会用到enum枚举类型,使用非常方便。但是当枚举定义较多时,在LOG打印时输出值很难直观的明白其含义,必须对照enum定义。本文介绍一个比较简单的方法,让LOG打印或std::cout输出枚举值时,直接输出文本。
Ubuntu Swap交换区满问题解法
有时用vscode打开比较大的工作目录,用一会儿机器会突然卡顿,鼠标都移动不了,但是查看系统资源会发现cpu全是空闲的,mem占用也不到50%,但是swap几乎处于打满状态。
创建自定义Ubuntu Docker镜像
之前体验过Ubuntu22.04版本后感觉新增的小工具很好用,就把几台linux设备都升级到了Ubuntu22,最近开发一个新功能,其中必须的编译依赖工具bcloud要求最高Ubuntu20下才能用,然后就悲催了,实在不想重装系统了,打算做一个ubuntu20+bcloud及依赖库的docker镜像,本文就记录下过程。
VSCode C++代码自动格式化配置
C++编译—在x86下搭建arm64编译环境
Docker容器内访问外网
AddressSanitizer的内存泄漏假象
C++编译优化之—so动态库依赖
C++反射实现—根据类名动态创建对象
我们在编写C++框架时,经常会涉及到一项基础技术,就是根据“一个动态库 + 一个类名称字符串“,动态的创建类对象。