
C语言
文章平均质量分 83
奇偶变不变
你好!这里是奇偶变不变 | 象限符号辨,我的个人知识库,记录我学习和思考的地方。这里没有特定的主题,从技能到灵感,从工具到感悟,聚焦学习与成长。这不仅是我的成长记录,也是一个开放的空间,关注我,一起感受知识积累的乐趣吧!
展开
-
为什么主流的 MCU 开发语言是 C 而不是 C++?
很多项目规模小(比如一两人开发),用C的全局变量和函数就能搞定,没必要引入C++的类、模板等复杂概念。C++的虚函数、异常处理等高级特性会增加额外开销,即使能通过编译器选项关闭,但默认情况下C更省心。MCU的内存和存储空间通常只有几KB到几百KB,C语言生成的代码更精简,运行时占用资源少。早期MCU性能极弱,只能用C或汇编,积累了大量C生态(代码、教材、工程师经验)。厂商提供的SDK、驱动库基本都是C写的,用C能直接调用,省去适配C++的麻烦。C++的动态特性(如多态)可能引入不确定性,调试起来更头疼。原创 2025-02-17 18:09:41 · 298 阅读 · 0 评论 -
惯导导明白了嘛
惯导算法 (Inertial Navigation Algorithm) 是惯性导航系统 (INS, Inertial Navigation System) 的核心,它利用惯性测量单元 (IMU, Inertial Measurement Unit) 提供的加速度和角速度数据,通过积分运算来推算载体的位置、速度和姿态信息。简单来说,惯导算法就是一套数学方法,它把来自 IMU 的"感觉"(加速度和角速度)转换成我们能理解的"位置、速度和方向"。核心原理:惯导算法的基础是牛顿运动定律。原创 2025-02-06 19:38:01 · 1479 阅读 · 0 评论 -
RT-Thread 内核基础
操作系统内核是操作系统的核心,是最基础也是最重要的部分。它就像计算机的大脑,负责管理系统的核心资源,包括线程、线程间的通信、时间、中断和内存等。RT-Thread 内核也承担着这样的角色,它位于硬件之上,由内核库和实时内核实现构成。内核库可以理解为是内核的工具箱,它提供了一些类似 C 语言库的基本函数,帮助内核独立运行。这些函数的具体内容会根据所使用的编译器而有所不同。例如,使用 GNU GCC 编译器时,内核库会包含更多标准 C 库的函数。原创 2024-12-15 17:26:58 · 1161 阅读 · 0 评论 -
数据结构小白一小时手搓环形缓冲区
环形缓冲区是一种非常高效且常用的数据结构,特别适用于需要处理数据流的场景。它通过循环利用固定大小的内存空间来实现数据的缓存和传输,避免了频繁的内存分配和释放,提高了系统性能和实时性。理解其工作原理和优缺点,可以帮助开发者更好地选择和使用这种数据结构。环形缓冲区,也称为循环缓冲区(Circular Buffer)、环形队列(Ring Buffer)或循环队列(Circular Queue),是一种固定大小的首尾相连的数据结构,可以把它想象成一个时钟表盘或一个首尾相接的圆环。原创 2024-12-07 20:22:37 · 1635 阅读 · 0 评论 -
数据结构之双向链表十分钟入门
在嵌入式系统中,除了单链表之外,双向链表也是一种常用的数据结构。双向链表相比于单链表,每个节点不仅有指向下一个节点的指针,还有指向上一个节点的指针。这种设计使得双向链表在某些操作上更加高效,比如反向遍历和删除节点等。下面,我将通过一个类似的例子来讲解双向链表的创建、插入和删除操作。原创 2024-12-03 14:36:16 · 1029 阅读 · 0 评论 -
数据结构之链表十分钟入门
在嵌入式系统中,通常使用来实现多级菜单,主要是因为链表在动态数据管理、内存利用和结构灵活性方面的优势,使其特别适合用于资源有限的系统。原创 2024-12-03 14:02:50 · 932 阅读 · 0 评论