在嵌入式系统发展的早期阶段,开发者往往受限于极其有限的CPU性能、RAM、ROM和I/O资源,因此在软件设计上高度强调资源最小化。结果是,许多代码设计趋于紧凑但晦涩,不利于长期维护。随着MCU资源成本的快速下降,今天的主流嵌入式平台(如STM32、ESP32等)已经拥有足够的算力和存储,因此“易维护”成为现代嵌入式软件设计的新优先级。非防御式编程正是在这一背景下被提倡——它强调以代码可读性、模块可复用性、逻辑清晰度优先于最小代码量的传统做法。这为将面向对象思想引入传统的C语言嵌入式编程提供了可能。
一、非防御式编程的核心思想
二、用C语言实现“类”的思维
2.1 结构体:模拟对象的数据载体
在C语言中,结构体(struct)提供了自定义数据类型的能力,是实现“类”概念的基础。结构体成员可以是基本类型、指针、嵌套结构体甚至函数指针,从而支持对象属性的封装。
typedef struct {
float x