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语言进阶 林峰 2026-03-16 900 热度 0评论
C语言字符串:字符指针char * 与 字符数组char[]区别 字符串与字符数组 — char *、char、strlen、sizeof C 没有字符串类型。"字符串"就是以 \\0 结尾的 char 数组。 本文从内存布局讲清 char * 和 char 的区别,以及 sizeof 和 strlen 到底在算什么。 1 字符串的本质 // "hello" 实际占 6 字节: // 'h' C语言进阶 林峰 2026-03-16 541 热度 0评论
宏定义与宏函数 C语言进阶 — 宏定义与宏函数 宏是 C 预处理器最强大也最容易"翻车"的特性。本文聚焦于对象宏与函数式宏的用法、函数式宏的三大经典陷阱、以及嵌入式开发中最实用的宏技巧。 1 预处理器本质:文本替换引擎 1.1 编译四阶段中的预处理 源文件 (.c) │ ▼ ① 预处理 (gcc -E) 展开后的源文件 (.i) ← 宏替换、#include 展开、条件编译 │ ▼ ② 编译 C语言进阶 林峰 2026-03-16 505 热度 0评论
C 语言内存管理(一):内存段与布局(.text/.data/.bss/堆/栈) 内存管理 — 内存段与布局 内存管理是嵌入式 C 语言开发的核心难点。本文聚焦于程序内存布局、内存段的逻辑与物理映射、以及嵌入式内存优化实践。 1 程序内存布局 1.1 内存段的基本概念 C 程序运行时,内存被划分为不同的区域,每个区域存储特定类型的数据: 代码段(.text):存放程序的机器指令,只读 只读数据段(.rodata):存放常量和字符串字面量,只读 已初始化数据段(.data):存放 C语言进阶 林峰 2026-03-14 825 热度 0评论
详解GCC编译器常用命令 GCC 从入门到实战:编译四阶段 + 常用命令速查 GCC(GNU Compiler Collection)是 Linux 下最常用的 C/C++ 编译器,也是嵌入式开发中不可或缺的工具。 基本格式:gcc 源文件 -o 输出文件 💡 嵌入式中的交叉编译 交叉编译器的用法和 gcc 完全一致,只是前缀不同: arm-linux-gnueabihf-gcc — ARM Linux aarc C语言进阶 林峰 2026-03-09 451 热度 0评论
GDB 调试器使用指南 GDB 调试器使用指南 GDB(GNU Debugger)是 Linux 下最常用的 C/C++ 程序调试工具。GDB 主要能做以下四件事来帮助你定位 Bug: 启动程序 —— 可以指定任何可能影响程序行为的参数与环境。 条件中断 —— 让程序在满足指定条件时停下来。 检查现场 —— 程序停下后,检查当时究竟发生了什么。 动态修改 —— 在运行中修改程序状态,从而验证对某个 Bug 的修复思路,再 C语言进阶 林峰 2026-03-06 327 热度 0评论