- 博客(4)
- 收藏
- 关注
转载 C++设计模式——Impl模式
以下内容来自C++ IMPL 模式解析(上)和C++ IMPL 模式解析(下),笔者仅在此基础上增加部分个人理解Impl是implement的缩写,意思为实现。在C++中,使用Impl模式,并不仅仅是为了将类的声明和定义放在不同的文件中,更重要的是隐藏类的实现细节和增加库的可维护性。本文描述了C++中Impl模式的三种实现方式,三种实现方式各有优劣。笔者本人拙见,第一种实现方式最简单,也足够使用(也许是因为笔者本人工程还不够)。
2025-09-02 21:17:49
294
原创 C++ sort函数浅显底层原理个人理解
到此终于真相大白。当要让sort函数对数组从大到小排序时,所传入的compare函数其实就是在判断 “如果 a > b 就返回true”。而sort函数只是根据compare函数的调用结果执行固定的 “让a排在b的前面的操作” 的操作,这个操作不会因为排序规则的改变而变化,是一个固定的规则。那么我们只需要让a大于b时,compare函数返回true,就可以顺利执行 “让a排在b前面”的操作。让a排在b前面其实就是让左操作数排在右操作数的前面。
2025-08-17 14:21:49
916
原创 Linux操作系统分析课程总结报告
当中断产生时,引脚线电位为高电平,产生一个唯一的中断信号。1) 通过这个中断信号确定与中断相关的中断向量i2) 读中断向量寄存器idtr得到中断向量表的基地址,找到其中第i项,找到中断处理程序所在段的段选择符和段内偏移3) 读gdtr寄存器获取全局描述符表基地址,在全局描述符表中根据上面获得的段选择符获取段描述符,段描述符中指出了中断处理程序的所在段(至此才获得中断处理程序的地址)4) 比较优先级,只允许高优先级的程序中断低优先级的程序。
2023-05-15 11:47:58
156
1
原创 Linux进程切换过程
schedule()函数首先从CPU任务队列中取出当前进程的标识符记为prev进程。之后,检查next如果和prev进程不一样,调用context_switch()函数进行上下文切换,next进程进入CPU运行。当A进程运行到一半触发系统调用或被中断时,进行中断上下文的切换,之后执行ISR中断服务例程,在中断处理结束后,返回前,是进程调度的时机,使用_schedule()函数进行进程切换。进程切换结束后,中断返回,返回到了next进程进行运行。
2023-04-24 18:07:19
306
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅