摘要: 什么是虚函数? 虚函数是C++中实现多态性的一种机制,它允许派生类重写基类的虚函数,从而在运行时根据对象的实际类型调用相应的函数。虚函数通过在函数声明前加上virtual关键字来定义。知道什么是虚函数好像并没什么卵用,要了解虚函数解决了什么问题才有意义! 虚函数解决了什么问题? 假设你正在设计一个图 阅读全文
posted @ 2026-02-26 18:17 thammer 阅读(7) 评论(0) 推荐(0)
摘要: 1. 多继承的概念 定义:一个派生类,同时继承多个基类 语法格式: class 派生类名 : 访问修饰符 基类1, 访问修饰符 基类2, ... { // 派生类成员 }; 2. 多继承时构造/析构顺序 规则: 构造顺序:从左到右,先构造基类,再构造派生类 析构顺序:从右到左,先析构派生类,再析构基 阅读全文
posted @ 2026-02-25 10:55 thammer 阅读(4) 评论(0) 推荐(0)
摘要: C++中访问控制权限有三种:public, private, protected。它们的作用分为两类: 自身成员访问权限控制 用法:限定关键字:成员声明 基类继承成员访问权限控制 用法:限定关键字 基类 自身成员访问权限控制 在类/结构体或者联合体的成员声明序列中,它的主要作用是定义后续成员的可访问 阅读全文
posted @ 2026-02-04 16:28 thammer 阅读(24) 评论(0) 推荐(0)
摘要: 1. 成员初始化的三种主要写法 以非静态成员为例,常见三种方式: // 方式 1:声明处默认初始化 class A { public: A(); // 可以有多个构造函数 private: int a = 0; int b{1}; }; // 方式 2:构造函数初始化列表 class B { pub 阅读全文
posted @ 2026-01-28 16:04 thammer 阅读(33) 评论(0) 推荐(0)
摘要: 在前面的04-最简单的字符设备驱动中,如果要通过设备节点控制设备,还需要我们手动执行sudo mknode /dev/mychardev c 237,对于我们开发人员可能顶多是麻烦一点,敲下命令,但是如果是一个普通使用者,他要使用打印机,难道还要他敲命令?当然不是,linux有一套机制可以自动创建设 阅读全文
posted @ 2025-11-29 17:24 thammer 阅读(13) 评论(0) 推荐(0)
摘要: 文件内容搜索 在linux下,搜索文件内容通常用grep。 grep的弊端一:编码影响搜索 grep一般用于内容搜索,它功能固然强大,但是在一些特殊的应用场景中会失效。比如被搜索的文件里面的编码是非UTF-8时,因为我们的系统通常默认编码是UTF-8,所以你的终端也一般是UTF-8编码,当你在终端输 阅读全文
posted @ 2025-11-21 11:07 thammer 阅读(44) 评论(0) 推荐(0)
摘要: GNU C和ANSI C的概念 ANSI C指的是American National Standards Institute(美国国家标准协会)C。这个标准的演进过程如下: 1989 - ANSI C (C89/C90) ↓ 1999 - ISO C (C99) ↓ 2011 - ISO C (C1 阅读全文
posted @ 2025-10-28 16:22 thammer 阅读(32) 评论(0) 推荐(0)
摘要: 一、设备驱动分类 linux设备驱动一般分为3类,字符设备,块设备,网络设备。前两个在/dev目录下有对应的设备节点,网络设备比较特殊,没有。通过ls -l /dev/xx可以看出设备类型: thammer@test:~$ ls -l /dev/nvme0n1 brw-rw 1 root disk 阅读全文
posted @ 2025-10-10 18:53 thammer 阅读(30) 评论(0) 推荐(0)
摘要: 为什么? 有些开发测试工作在实际的硬件板子上反而不方便,比如切换CPU属性,比如设置单核或者多核来验证某些问题,或者手头暂时没有板子的情况下,用虚拟机搭建linux驱动开发测试环境是一个非常不错的替代方案。并且这样做免去了交叉编译,上传文件的繁琐步骤,直接本机编辑代码,编译代码,运行测试。 搭建步骤 阅读全文
posted @ 2025-10-10 16:39 thammer 阅读(57) 评论(0) 推荐(0)
摘要: 什么是内核符号? 内核符号表就是内核中 “名字 → 信息(地址、类型、可见性)” 的映射表。名字通常是内核的函数名或全局变量名,符号表让内核本身与可加载模块(.ko)相互找到并链接这些名字。而表项的名字就是内核符号。 内核符号表存在于哪里? 构建时:vmlinux(未压缩的内核镜像)包含完整符号信息 阅读全文
posted @ 2025-08-12 19:22 thammer 阅读(72) 评论(0) 推荐(0)