- 博客(43)
- 收藏
- 关注
原创 Linux进程信号
进程信号是一种异步通信机制,用于进程间传递事件通知。它可以强制进程中断当前操作,转而执行预设的信号处理动作,是系统管理和进程控制的重要手段。本质:信号是一个整数编号代表不同类型事件。
2025-06-30 22:47:53
1011
原创 Linux中断(硬件中断流程、系统调用处理流程,进程切换底层原理)
中断的本质与核心作用异步事件的响应机制非阻塞通信:设备无需持续查询CPU,通过中断通知事件完成任务切换基础:操作系统通过时钟中断实现时间片轮转,强制进程切换CPU执行流的调度器正常执行:指令1 -> 指令2 -> ... -> 指令n中断发生:指令k -> 中断处理 -> 恢复执行指令n+1中断的分类硬件中断:外设通过中断控制器发送典型场景:键盘输入,硬盘读写硬件中断处理流程。
2025-06-29 15:01:52
197
原创 C++重要知识点(C++11新增语法)(智能指针、右值引用、lambda表达式)
引用捕获:编译器在匿名类中添加一个引用类型的成员变量,用于存储外部变量的引用,这样在lambda表达式中对该变量操作就是对本身操作。完美转发:通过模板和右值引用实现的技术,能将函数参数原封不动的传递给其它函数,保留参数的左右值属性和顶层const修饰。[=]值捕获:会以值的方式捕获所有外部作用域中被用到的变量,lambda表达式中使用捕获变量不会影响外部。值捕获:编译器会在匿名类中添加一个对应类型的成员变量来存储捕获的值,并在构造函数中初始化。[&]引用捕获:同值捕获,但使用的捕获变量值会影响外部。
2025-06-27 12:45:59
1032
原创 C++主要知识点(异常)
main0快速终止程序,类似exit()atexit()默认行为:调用,但可通过自定义处理函数触发条件assert()at()signal()SIGINTSIGKILLSIGSTOPSIGINTSIGSEGVSIGKILL。
2025-06-25 13:54:16
282
原创 C++重要知识点(类型转换)
隐式类型转换//通过构造函数进行隐式类型转换class A {public:A(int x) {} // 单参数构造函数允许 int → Afunc(42);// int → A(通过构造函数转换)class testpublic:private://多参数的自定义类型也可以通过这种方式进行隐式类型转换class Apublic:int _a = 1;A aa1(1);
2025-06-25 10:10:09
812
原创 C++重要知识点(继承与多态)
继承机制时面向对象程序设计使代码可以复用的最重要手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。
2025-06-24 01:00:00
1347
原创 C++重点知识(动态内存管理)
定义:内存泄漏是程序在运行过程中,动态分配了内存空间,但使用完毕后,没有及时将这些内存释放回系统,导致这部分内存无法再次利用,随着程序的运行,泄漏的内存不断积累内存泄漏的危害系统资源耗尽性能下降程序异常影响系统稳定。
2025-06-23 10:23:24
740
原创 进程详解--通俗易懂版
作用: 标识进程 记录状态(运行或阻塞等) 资源管理 调度信息记录(如优先级和已使用CPU时长)包含信息:进程标识符(PID) 进程状态 程序计数器(PC)寄存器集合(保存进程运行时 CPU 寄存器中的数据,包括通用寄存器、状态寄存器等内容。当进程被暂停或切换时,这些寄存器的值会被保存到 PCB 中,以便在进程再次运行时恢复,确保进程的执行状态不被丢失。内存指针:指向进程在内存中的代码和数据区域 (这里指向的是虚拟地址,通过映射页表,找到真实内存地址)打开文件列表。
2025-03-01 12:20:10
1241
2
原创 Linux项目自动化构建工具 - make / Makefile
如图所示第一行为依赖关系:“ : ” 的左边为目标文件 右边为依赖文件列表第二行为第一行的依赖方法: 以tab开头 + 命令 ,可在后面接多行命令代码演示:如果想去掉回显可在依赖方法前加@让目标文件,对应的方法总是被执行 本质:让依赖方法忽略时间对比代码演示:可查看文件的详细属性(包括修改时间等) 格式:stat 文件名例:假设只有proc.c文件存在 如果不执行依赖方法(及依赖列表文件不存在),就会一直推导知道依赖文件存在,然后逆向执行所有的依赖方法 相当于:把不执行的依赖方法
2024-11-06 19:48:41
285
原创 Linux编译器 - gcc/g++ 的使用
1.预处理(进行宏替换)2.编译(生成汇编)3.汇编(生成机器可识别的代码)4.连接(生成可执行文件或库文件)
2024-11-05 18:18:05
350
原创 Linux编辑器 - vim 使用(三种常用模式及一些常用操作)
末行模式 q 或者 命令模式:shift zz(两个ZZ)如果你在不想退出vim的情况下对命令行进行操作可以这样做。末行模式下 vs 其他文本 可分屏操作进行对比。如何进行光标的切换?光标所在界面就是我们正在编辑的界面。
2024-11-04 19:17:41
337
原创 Linux权限的概念及操作(权限操作和粘滞位)
Linux权限概念 Linux权限管理 chmod指令 chown指令 chgrp指令 umask指令 file指令
2024-10-31 21:26:28
233
原创 Linux基本指令(三)
less指令 head指令 tail指令 date指令 cal指令 find指令 grep指令 zip指令 tar指令 bc指令 uname指令 常用热键
2024-10-30 19:38:08
1060
原创 C语言 strlen()函数与操作符sizeof的区别
strlen()测量字符串的实际长度(strlen()函数给出字符串中的。sizeof则包括 \0。strlen()函数的。操作符sizeof他以。3、对字符串的操作区别。操作符sizeof的。
2024-02-29 17:29:11
625
2
原创 c语言判断一个数是否为质数
首先理解什么为质数,质数就是因数只有1和本身的数。所以我们只需要用一段程序判断出其因数的个数就可以根据因数个数判断其是否为质数。
2024-01-16 19:59:20
544
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人