[家电应用] 使用define来预定义固件版本号

[复制链接]
1101|22
波尔街道的松柏 发表于 2026-4-22 14:39 | 显示全部楼层
使用#define预定义固件版本号,便于统一维护、编译时生效。例:#define FW_VER_MAJOR 1、#define FW_VER_MINOR 0、#define FW_VER_BUILD 12,组合为V1.0.12。可在代码中打印、判断分支,修改宏即可全局更新,无需多处改动,简洁规范、不易出错,适合版本管理与升级区分。
玫瑰凋零日记 发表于 2026-4-29 16:19 | 显示全部楼层
在嵌入式固件开发中,用#define宏定义固件版本号,是C 语言预处理指令的经典用法。将版本号(主版本、次版本、修订号)定义为常量宏,代码中直接引用宏名,修改时仅需改动一处,全工程自动同步,避免硬编码导致的版本错乱。
示例代码:
c
运行
// 预定义固件版本号,主版本.次版本.修订版
#define FW_MAJOR_VER    1   // 主版本号
#define FW_MINOR_VER    2   // 次版本号
#define FW_REVISION     3   // 修订号
#define FW_VERSION_STR  "V1.2.3"  // 版本字符串
优势:易维护、可读性强、编译时直接替换,不占用额外运行内存。
总结
#define定义版本宏,统一管理、修改便捷
分主 / 次 / 修订号,适配固件迭代规范
无运行开销,嵌入式开发最优实践
月亮一键变蓝 发表于 2026-5-7 08:26 | 显示全部楼层
确实,通过宏定义的方式,我们可以在编译时就确定版本号
老橘树下的桥头 发表于 2026-5-12 16:26 | 显示全部楼层
可以用#define预定义固件版本号,放在工程头文件最顶部,全局统一调用。示例:#define FW_VERSION "V1.0.2"、#define VER_MAJ 1。编译时宏直接替换,不占 RAM,修改一处即可全局生效,方便版本管理、打印输出、条件编译区分功能,是 51/MCU 最常用的版本号定义方式。
雾都浪漫 发表于 2026-5-19 14:44 | 显示全部楼层
用 #define 宏定义固件版本号简洁高效,统一管理便于全域调用。可拆分主版本、次版本、修订号,拼接成完整版本字符串。编译时直接替换,无需多处改值,适配 OTA 升级、日志打印、版本校验。还能搭配条件编译区分软硬件版本,精简代码,维护便捷,是嵌入式固件通用规范写法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0