- 博客(10)
- 收藏
- 关注
原创 【指针和引用的区别】【汇编的角度分析】【典型场景】
本文对比了C++中指针和引用的底层实现差异。通过汇编代码分析发现:1)在内存操作和函数传参时,两者在汇编层面几乎相同,都是传递地址;2)关键区别在于指针可以重新绑定和为空,而引用则不能;3)引用由于不可重新绑定,编译器能进行更多优化,通常性能更优;4)指针适合需要灵活绑定的场景,引用更适合函数传参和对象别名。总结指出引用本质上是自动解引用的常量指针,但语言特性使其能生成更优化的代码。
2025-11-13 13:59:39
224
原创 【嵌入式底层】【汇编】汇编解释volatile修饰符的作用
volatile是C/C++中的类型修饰符,用于告知编译器该变量可能被程序外实体(如硬件、中断、多线程)修改,从而禁用相关优化。它确保每次访问都直接从内存读取/写入,避免编译器缓存值或重排指令。典型应用场景包括:硬件寄存器访问、中断服务程序共享变量、多线程标志位等。通过对比汇编代码可见,volatile能防止循环变量被寄存器缓存、确保多次写入不被优化掉,并维持操作顺序,是底层编程和嵌入式开发的关键机制。
2025-10-26 20:15:05
748
原创 【第一课】【linux驱动的分类】【linux驱动从入门到熟练工作】
Linux驱动主要分为三类:1)按设备类型分为字符设备(如键盘、串口)、块设备(如硬盘)和网络设备(如网卡);2)按总线类型分为PCI/PCIe设备、USB设备和平台设备;3)按功能分类包括存储、输入、显示、音频和网络设备驱动。此外,驱动还分为硬件抽象层、设备驱动层和子系统驱动层三个层次,分别负责硬件操作、设备功能和子系统接口实现。
2025-10-17 22:31:24
242
原创 太激动了,终于想明白为什么神经网络只是一些数据就能解决识别等问题。
我将从信号与系统的课程入手解释,为什么0,1能描述世界上的所有系统和作用。然后以线性回归,均值滤波(重点),多项式线性回归解释为什么需要参数,如何自动调整参数。最后我将解释为什么卷积是有效,然后其他的什么神经网络就不解释了。全文将贯穿所有的数学证明过程(使用lean4证明,因为用这个语言写的证明过程全宇宙都认可),同时需要读者有一丢丢的信号与系统的基础知识。
2024-11-11 06:33:20
174
原创 信号与系统学习学习笔记1:什么是LTI系统;卷积的推导
LTI系统定义:满足线性系统和时不变系统定义的系统。(Linear and Time-invariant System)可以看出y[n] = h[n] 翻转后右移动n个单位,然后h[n]作为行向量和x[n]作为列向量求向量积为y[n]。
2024-10-02 00:10:22
1811
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1