[{"content":"C语言学习路线 第一阶段：基础入门（构建语法框架） 目标：掌握 C 语言基本语法，能编写简单程序。\n1. 开发环境与基础概念 核心内容：\n编译器（GCC/Clang）与 IDE（VS Code、Dev-C++）配置 C 程序结构（main函数、头文件、语句结束符;） 注释（单行//、多行/* */） 代码编译与执行流程（预处理→编译→汇编→链接） 2. 数据类型与运算符 核心内容：\n基本数据类型：int、float、double、char、void 修饰符：short、long、signed、unsigned 常量与变量：字面量、const常量、变量定义与初始化 运算符：算术（+、-、*、/、%）、关系（\u0026gt;、\u0026lt;、==）、逻辑（\u0026amp;\u0026amp;、||、!）、赋值（=、+=）、位运算（\u0026amp;、|、^、~、\u0026lt;\u0026lt;、\u0026gt;\u0026gt;） 类型转换：隐式转换、强制类型转换 3. 输入输出与控制结构 核心内容：\n标准 I/O 函数：printf()（格式化输出）、scanf()（格式化输入）、getchar()/putchar()（字符读写） 顺序结构、选择结构（if-else、switch-case） 循环结构（for、while、do-while）、循环控制（break、continue、goto） 第二阶段：核心进阶（攻克重点难点） 目标：深入理解 C 语言核心特性，能编写复杂逻辑程序。\n1. 函数 核心内容：\n函数定义、声明（原型）与返回值 参数传递：值传递、地址传递（指针） 递归函数（原理、栈溢出风险） 变量作用域：局部变量、全局变量、静态变量（static） 外部函数与内部函数（extern、static修饰函数） 2. 数组与字符串 核心内容：\n一维数组、多维数组（二维数组的内存布局） 数组名作为指针、数组与指针的关系 字符串：字符数组、字符串常量、字符串处理函数（strlen、strcpy、strcmp、strcat） 3. 指针（重中之重） 核心内容：\n指针的定义与初始化、取地址符\u0026amp;、解引用符* 指针的算术运算（+、-、++、--） 指针与数组：指针遍历数组、指针数组（char *arr[]） 指针与函数：函数指针、指针作为函数参数、返回指针的函数 空指针（NULL）、野指针、悬空指针的危害与避免 4. 结构体、联合体与枚举 核心内容：\n结构体（struct）：定义、成员访问、结构体数组、结构体指针 位域（结构体中的位操作） 联合体（union）：内存共享机制、与结构体的区别 枚举（enum）：枚举常量的定义与使用 第三阶段：高级特性（底层与系统交互） 目标：掌握内存管理、文件操作等底层能力，理解 C 语言与系统的交互。\n1. 内存管理 核心内容：\n内存分区：栈区、堆区、全局 / 静态区、常量区、代码区 动态内存分配：malloc()、calloc()、realloc()、free() 内存泄漏、内存碎片、野指针的检测与避免 sizeof与strlen的区别 2. 预处理指令 核心内容：\n宏定义（#define）：对象宏、函数宏、宏的副作用 文件包含（#include）：头文件的作用与编写规范 条件编译（#ifdef、#ifndef、#if、#elif、#else、#endif） 预定义宏（__FILE__、__LINE__、__DATE__） 3. 文件操作 核心内容：\n文件指针（FILE *）、文件打开与关闭（fopen()、fclose()） 字符读写：fgetc()、fputc() 字符串读写：fgets()、fputs() 格式化读写：fprintf()、fscanf() 二进制读写：fread()、fwrite() 文件定位：fseek()、ftell()、rewind() 错误处理：ferror()、perror() 4. 高级关键字与特性 核心内容：\nconst：常量指针、指针常量、const修饰函数参数 volatile：防止编译器优化、多线程 / 中断中的应用 register：寄存器变量（现代编译器优化下的实际意义） typedef：类型别名、与#define的区别 函数指针与回调函数（应用场景：排序算法、事件驱动） 第四阶段：实战与精通（项目与底层原理） 目标：通过项目实战巩固知识，深入理解 C 语言底层实现。\n1. 数据结构与算法实现 核心内容：\n用 C 实现线性表（顺序表、链表）、栈、队列 排序算法：冒泡、插入、选择、快速、归并排序 查找算法：线性查找、二分查找、哈希表 树与二叉树（二叉搜索树、平衡树的基础实现） 2. 系统级编程（拓展） 核心内容：\nLinux 系统调用：文件操作（open、read、write）、进程管理（fork、exec） 多线程编程：pthread库的使用（线程创建、同步互斥） 网络编程基础：Socket 编程（TCP/UDP 通信） 3. 项目实战 推荐项目：\n基础项目：计算器、学生成绩管理系统、通讯录 进阶项目：简单 Shell、文件压缩工具（基于哈夫曼编码）、迷你数据库 底层探索：实现简单的内存池、自定义字符串库 4. 底层原理深入 核心内容：\n编译链接过程：静态链接、动态链接、ELF 文件格式 函数调用栈帧原理（ebp、esp 寄存器的作用） 汇编语言基础（x86-64）：理解 C 语言代码对应的汇编指令 学习建议 多动手实践：每学一个知识点，立即编写代码验证（推荐在线平台：LeetCode、PTA）。\n阅读经典书籍：\n入门：《C Primer Plus》 进阶：《C 和指针》、《C 陷阱与缺陷》 底层：《深入理解计算机系统》（CSAPP） 调试能力：学会使用 GDB 调试器，理解程序运行时的内存状态。\n代码规范：养成良好的编码风格（命名、注释、缩进）。\n","permalink":"https://blog.pre-spirit.cn/posts/c-learning-path/","summary":"\u003ch2 id=\"c语言学习路线\"\u003e\u003cstrong\u003eC语言学习路线\u003c/strong\u003e\u003c/h2\u003e\n\u003ch3 id=\"第一阶段基础入门构建语法框架\"\u003e\u003cstrong\u003e第一阶段：基础入门（构建语法框架）\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e目标\u003c/strong\u003e：掌握 C 语言基本语法，能编写简单程序。\u003c/p\u003e\n\u003ch4 id=\"1-开发环境与基础概念\"\u003e1. 开发环境与基础概念\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e编译器（GCC/Clang）与 IDE（VS Code、Dev-C++）配置\u003c/li\u003e\n\u003cli\u003eC 程序结构（\u003ccode\u003emain\u003c/code\u003e函数、头文件、语句结束符\u003ccode\u003e;\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e注释（单行\u003ccode\u003e//\u003c/code\u003e、多行\u003ccode\u003e/* */\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e代码编译与执行流程（预处理→编译→汇编→链接）\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"2-数据类型与运算符\"\u003e2. 数据类型与运算符\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e基本数据类型：\u003ccode\u003eint\u003c/code\u003e、\u003ccode\u003efloat\u003c/code\u003e、\u003ccode\u003edouble\u003c/code\u003e、\u003ccode\u003echar\u003c/code\u003e、\u003ccode\u003evoid\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e修饰符：\u003ccode\u003eshort\u003c/code\u003e、\u003ccode\u003elong\u003c/code\u003e、\u003ccode\u003esigned\u003c/code\u003e、\u003ccode\u003eunsigned\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e常量与变量：字面量、\u003ccode\u003econst\u003c/code\u003e常量、变量定义与初始化\u003c/li\u003e\n\u003cli\u003e运算符：算术（\u003ccode\u003e+\u003c/code\u003e、\u003ccode\u003e-\u003c/code\u003e、\u003ccode\u003e*\u003c/code\u003e、\u003ccode\u003e/\u003c/code\u003e、\u003ccode\u003e%\u003c/code\u003e）、关系（\u003ccode\u003e\u0026gt;\u003c/code\u003e、\u003ccode\u003e\u0026lt;\u003c/code\u003e、\u003ccode\u003e==\u003c/code\u003e）、逻辑（\u003ccode\u003e\u0026amp;\u0026amp;\u003c/code\u003e、\u003ccode\u003e||\u003c/code\u003e、\u003ccode\u003e!\u003c/code\u003e）、赋值（\u003ccode\u003e=\u003c/code\u003e、\u003ccode\u003e+=\u003c/code\u003e）、位运算（\u003ccode\u003e\u0026amp;\u003c/code\u003e、\u003ccode\u003e|\u003c/code\u003e、\u003ccode\u003e^\u003c/code\u003e、\u003ccode\u003e~\u003c/code\u003e、\u003ccode\u003e\u0026lt;\u0026lt;\u003c/code\u003e、\u003ccode\u003e\u0026gt;\u0026gt;\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e类型转换：隐式转换、强制类型转换\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"3-输入输出与控制结构\"\u003e3. 输入输出与控制结构\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e标准 I/O 函数：\u003ccode\u003eprintf()\u003c/code\u003e（格式化输出）、\u003ccode\u003escanf()\u003c/code\u003e（格式化输入）、\u003ccode\u003egetchar()\u003c/code\u003e/\u003ccode\u003eputchar()\u003c/code\u003e（字符读写）\u003c/li\u003e\n\u003cli\u003e顺序结构、选择结构（\u003ccode\u003eif-else\u003c/code\u003e、\u003ccode\u003eswitch-case\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e循环结构（\u003ccode\u003efor\u003c/code\u003e、\u003ccode\u003ewhile\u003c/code\u003e、\u003ccode\u003edo-while\u003c/code\u003e）、循环控制（\u003ccode\u003ebreak\u003c/code\u003e、\u003ccode\u003econtinue\u003c/code\u003e、\u003ccode\u003egoto\u003c/code\u003e）\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"第二阶段核心进阶攻克重点难点\"\u003e\u003cstrong\u003e第二阶段：核心进阶（攻克重点难点）\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e目标\u003c/strong\u003e：深入理解 C 语言核心特性，能编写复杂逻辑程序。\u003c/p\u003e\n\u003ch4 id=\"1-函数\"\u003e1. 函数\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e函数定义、声明（原型）与返回值\u003c/li\u003e\n\u003cli\u003e参数传递：值传递、地址传递（指针）\u003c/li\u003e\n\u003cli\u003e递归函数（原理、栈溢出风险）\u003c/li\u003e\n\u003cli\u003e变量作用域：局部变量、全局变量、静态变量（\u003ccode\u003estatic\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e外部函数与内部函数（\u003ccode\u003eextern\u003c/code\u003e、\u003ccode\u003estatic\u003c/code\u003e修饰函数）\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"2-数组与字符串\"\u003e2. 数组与字符串\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e一维数组、多维数组（二维数组的内存布局）\u003c/li\u003e\n\u003cli\u003e数组名作为指针、数组与指针的关系\u003c/li\u003e\n\u003cli\u003e字符串：字符数组、字符串常量、字符串处理函数（\u003ccode\u003estrlen\u003c/code\u003e、\u003ccode\u003estrcpy\u003c/code\u003e、\u003ccode\u003estrcmp\u003c/code\u003e、\u003ccode\u003estrcat\u003c/code\u003e）\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"3-指针重中之重\"\u003e3. 指针（重中之重）\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e指针的定义与初始化、取地址符\u003ccode\u003e\u0026amp;\u003c/code\u003e、解引用符\u003ccode\u003e*\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e指针的算术运算（\u003ccode\u003e+\u003c/code\u003e、\u003ccode\u003e-\u003c/code\u003e、\u003ccode\u003e++\u003c/code\u003e、\u003ccode\u003e--\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e指针与数组：指针遍历数组、指针数组（\u003ccode\u003echar *arr[]\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e指针与函数：函数指针、指针作为函数参数、返回指针的函数\u003c/li\u003e\n\u003cli\u003e空指针（\u003ccode\u003eNULL\u003c/code\u003e）、野指针、悬空指针的危害与避免\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"4-结构体联合体与枚举\"\u003e4. 结构体、联合体与枚举\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e核心内容\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e结构体（\u003ccode\u003estruct\u003c/code\u003e）：定义、成员访问、结构体数组、结构体指针\u003c/li\u003e\n\u003cli\u003e位域（结构体中的位操作）\u003c/li\u003e\n\u003cli\u003e联合体（\u003ccode\u003eunion\u003c/code\u003e）：内存共享机制、与结构体的区别\u003c/li\u003e\n\u003cli\u003e枚举（\u003ccode\u003eenum\u003c/code\u003e）：枚举常量的定义与使用\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"第三阶段高级特性底层与系统交互\"\u003e\u003cstrong\u003e第三阶段：高级特性（底层与系统交互）\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e目标\u003c/strong\u003e：掌握内存管理、文件操作等底层能力，理解 C 语言与系统的交互。\u003c/p\u003e","title":"C语言学习路线"},{"content":"个人简介 你好，我是预靈，一名嵌入式开发爱好者，喜欢折腾C语言、STM32、3D打印和DIY项目。\n博客内容 这个博客主要分享：\nC语言学习笔记 嵌入式开发教程 3D打印经验 DIY项目展示 联系方式 GitHub：https://github.com/Pre-spirit/ 邮箱：2960089115@qq.com ","permalink":"https://blog.pre-spirit.cn/about/","summary":"\u003ch2 id=\"个人简介\"\u003e个人简介\u003c/h2\u003e\n\u003cp\u003e你好，我是预靈，一名嵌入式开发爱好者，喜欢折腾C语言、STM32、3D打印和DIY项目。\u003c/p\u003e\n\u003ch2 id=\"博客内容\"\u003e博客内容\u003c/h2\u003e\n\u003cp\u003e这个博客主要分享：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eC语言学习笔记\u003c/li\u003e\n\u003cli\u003e嵌入式开发教程\u003c/li\u003e\n\u003cli\u003e3D打印经验\u003c/li\u003e\n\u003cli\u003eDIY项目展示\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"联系方式\"\u003e联系方式\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGitHub：https://github.com/Pre-spirit/\u003c/li\u003e\n\u003cli\u003e邮箱：2960089115@qq.com\u003c/li\u003e\n\u003c/ul\u003e","title":"关于我"},{"content":"","permalink":"https://blog.pre-spirit.cn/posts/diy-weather-station/","summary":"","title":"Diy"},{"content":"零基础学3D打印！\n","permalink":"https://blog.pre-spirit.cn/posts/3d-print-ender3-setup/","summary":"\u003cp\u003e零基础学3D打印！\u003c/p\u003e","title":"初识3D打印"},{"content":"第一个C语言程序 1 2 3 4 5 6 7 8 9 10 11 12 #include \u0026lt;stdio.h\u0026gt; int main() { printf(\u0026#34;Hello, World!\\n\u0026#34;); return 0; } 代码解析 #include \u0026lt;stdio.h\u0026gt;：引入标准输入输出头文件，用于printf()打印函数 int main()：主函数，程序的唯一入口 printf(\u0026#34;Hello, World!\\n\u0026#34;)：打印函数，输出内容到控制台，\\n是换行符 return 0：程序正常结束，返回 0 给操作系统 ","permalink":"https://blog.pre-spirit.cn/posts/c-language-hello-world/","summary":"\u003ch2 id=\"第一个c语言程序\"\u003e第一个C语言程序\u003c/h2\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cdiv class=\"chroma\"\u003e\n\u003ctable class=\"lntable\"\u003e\u003ctr\u003e\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"lnt\"\u003e 1\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 2\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 3\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 4\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 5\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 6\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 7\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 8\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e 9\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e10\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e11\n\u003c/span\u003e\u003cspan class=\"lnt\"\u003e12\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\n\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-c\" data-lang=\"c\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"cp\"\u003e#include\u003c/span\u003e \u003cspan class=\"cpf\"\u003e\u0026lt;stdio.h\u0026gt;\u003c/span\u003e\u003cspan class=\"cp\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kt\"\u003eint\u003c/span\u003e \u003cspan class=\"nf\"\u003emain\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003eprintf\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Hello, World!\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"err\"\u003e代码解析\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"cp\"\u003e#include\u003c/span\u003e \u003cspan class=\"cpf\"\u003e\u0026lt;stdio.h\u0026gt;：引入标准输入输出头文件，用于printf()打印函数\u003c/span\u003e\u003cspan class=\"cp\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kt\"\u003eint\u003c/span\u003e \u003cspan class=\"nf\"\u003emain\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003cspan class=\"err\"\u003e：主函数，程序的唯一入口\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eprintf\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Hello, World!\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003cspan class=\"err\"\u003e：打印函数，输出内容到控制台，\\\u003c/span\u003e\u003cspan class=\"n\"\u003en是换行符\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"err\"\u003e：程序正常结束，返回\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e \u003cspan class=\"err\"\u003e给操作系统\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e","title":"C语言入门：Hello World与基础语法"},{"content":"欢迎大家！\n","permalink":"https://blog.pre-spirit.cn/posts/stm32-gpio-tutorial/","summary":"\u003cp\u003e欢迎大家！\u003c/p\u003e","title":"嵌入式入门"}]