C语言关键字—static/extern/volatile/const 笔记(上)

C语言进阶 — 关键字详解(上) C 语言共有 32 个关键字(C89)/ 44 个(C11)。本篇聚焦嵌入式开发中与存储、链接、优化直接相关的四个核心关键字:static、extern、volatile、const。 下篇:C语言关键字(下)—— typedef、sizeof、register、inline、enum、struct、union。 1 static 关键字 💡 核心思想 stati
C语言关键字—static/extern/volatile/const 笔记(上)

宏定义与宏函数

C语言进阶 — 宏定义与宏函数 宏是 C 预处理器最强大也最容易"翻车"的特性。本文聚焦于对象宏与函数式宏的用法、函数式宏的三大经典陷阱、以及嵌入式开发中最实用的宏技巧。 1 预处理器本质:文本替换引擎 1.1 编译四阶段中的预处理 源文件 (.c) │ ▼ ① 预处理 (gcc -E) 展开后的源文件 (.i) ← 宏替换、#include 展开、条件编译 │ ▼ ② 编译
宏定义与宏函数

C 语言内存管理(一):内存段与布局(.text/.data/.bss/堆/栈)

内存管理 — 内存段与布局 内存管理是嵌入式 C 语言开发的核心难点。本文聚焦于程序内存布局、内存段的逻辑与物理映射、以及嵌入式内存优化实践。 1 程序内存布局 1.1 内存段的基本概念 C 程序运行时,内存被划分为不同的区域,每个区域存储特定类型的数据: 代码段(.text):存放程序的机器指令,只读 只读数据段(.rodata):存放常量和字符串字面量,只读 已初始化数据段(.data):存放
C 语言内存管理(一):内存段与布局(.text/.data/.bss/堆/栈)

详解GCC编译器常用命令

GCC 从入门到实战:编译四阶段 + 常用命令速查 GCC(GNU Compiler Collection)是 Linux 下最常用的 C/C++ 编译器,也是嵌入式开发中不可或缺的工具。 基本格式:gcc 源文件 -o 输出文件 💡 嵌入式中的交叉编译 交叉编译器的用法和 gcc 完全一致,只是前缀不同: arm-linux-gnueabihf-gcc — ARM Linux aarc
详解GCC编译器常用命令

GDB 调试器使用指南

GDB 调试器使用指南 GDB(GNU Debugger)是 Linux 下最常用的 C/C++ 程序调试工具。GDB 主要能做以下四件事来帮助你定位 Bug: 启动程序 —— 可以指定任何可能影响程序行为的参数与环境。 条件中断 —— 让程序在满足指定条件时停下来。 检查现场 —— 程序停下后,检查当时究竟发生了什么。 动态修改 —— 在运行中修改程序状态,从而验证对某个 Bug 的修复思路,再
GDB 调试器使用指南