logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[特殊字符]️ 挽救错误提交:Linux 内核开发中的“后悔药”

本文介绍了在Linux内核开发中如何优雅撤销错误提交。通过两条核心命令cd kernel进入工作目录和git revert <commit-id>创建反向提交,既修复错误又保留完整历史记录。与git reset不同,revert不会重写历史,特别适合已推送的公共分支,避免团队协作问题。文章强调专业开发者应坦然修正错误而非掩盖,这种"安全时光倒流"的方式既维护系统稳定

#git
[特殊字符] Git 文件树探秘:像查看快递仓库一样理解代码结构

摘要:本文介绍了3种在Git中查看文件结构的方法:1) git ls-files查看当前仓库文件清单;2) git ls-tree查看特定版本的文件结构;3) git show查看具体文件的历史内容。文章通过仓库比喻形象解释Git工作原理,并提供了实用命令参数和使用场景,帮助开发者快速定位Git中的文件信息。最后还给出了图形化工具建议,适合不同需求的开发者使用。

#git
[特殊字符] 嵌入式 Linux 设备树大白话指南:手把手教你“点亮”LED 灯(全网最细)

这是我们给这个引脚起的花名(别名)。意思是“LED1 的 12V 电源控制脚”。<&gpio4小区名。表示这个引脚属于第 4 组 GPIO 控制器。RK_PC6单元号。表示具体的引脚编号(第 4 组的 C 部分第 6 个脚)。开门规则。意思是“当我要点亮灯时,我会输出高电平(通常是 3.3V)”。这里的非常重要。如果你的电路设计是“低电平点亮”(共阳极接法),这里就必须写。如果灯没亮,90% 是这

#嵌入式硬件
[特殊字符] 嵌入式 Linux 设备树:像接线员一样玩转 GPIO 与 LED 配置(超详细实战版)

🔍 嵌入式Linux GPIO/LED配置精要 核心逻辑:设备树是硬件的"接线说明书",GPIO配置需明确三个关键: 引脚定义(如RK_PC4) 电平有效方式(GPIO_ACTIVE_HIGH/LOW,决定亮灭逻辑) 电气属性(上拉/下拉/浮空) LED配置要点: 若LED负极接GPIO,正极接电源→用ACTIVE_LOW(输出低电平时亮) 电源管理需注意互斥(如12V/5V

#嵌入式硬件
C++对象访问与多态机制深度解析:从指针到多态的完整图景

《C++对象访问与多态机制深度解析》揭示了C++底层对象模型的核心原理:1. 对象本质上是一块连续内存,通过指针访问成员实际上是通过地址偏移实现;2. 父类指针访问子类对象时,虚函数通过虚函数表(vtable)实现动态绑定,非虚函数则静态绑定到父类版本;3. 成员变量访问遵循类型安全原则,父类指针只能访问继承部分。文章还提出了多态设计的最佳实践,包括优先使用虚函数、智能指针等。这些原理共同构成了&

#c++
深入理解C/C++指针传递:何时以及如何改变外部指针

本文深入解析了C/C++中指针传递的核心机制,重点探讨了何时以及如何改变外部指针。文章指出,函数参数本质是值传递,因此要改变指针本身需要使用二级指针或指针引用(C++)。通过代码示例演示了动态内存分配、链表操作等常见场景的正确实现方式,对比了三种修改指针的方法(二级指针、指针引用和返回指针)的优缺点。最后给出了最佳实践建议,强调明确修改意图、优先使用引用、防范内存泄漏等要点。掌握这些技巧能帮助开发

C++中介者模式实战:解耦对象交互的艺术

定义:中介者模式用一个中介对象来封装一系列对象之间的交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,并且可以独立地改变它们之间的交互。中介者模式是解决对象间复杂交互的利器。它通过引入一个“协调者”,将对象间的网状通信转化为星型结构,从而实现松耦合、高内聚的设计。在 C++ 中,结合现代 C++ 特性(如智能指针、lambda、并发支持),我们可以实现更安全、更高效的中介者模式。无论是在

#设计模式#中介者模式
C++内存布局与系统级编程:从基础到高级的全面指南

本文全面解析C++内存布局及其对系统编程的影响。通过餐馆工作流程的类比,详细介绍了栈(自动管理)、堆(手动分配)、数据段(全局/静态变量)、BSS段(未初始化数据)和只读数据段(常量)等内存区域的特点。重点探讨了内存布局对性能的影响,包括访问速度、空间利用率和共享特性。同时提供了避免内存泄漏、野指针和数组越界等常见错误的实用解决方案,并给出预防堆栈溢出的有效策略。文章强调通过理解内存机制来编写高效

#c++
数组与双重指针的“亲密关系”:从零讲透C/C++中的经典难题

本文深入解析了C/C++中数组与双重指针的关系,通过一个经典题目"如何打印字符串数组中的特定字符"展开讲解。文章首先指出数组名在表达式中通常等价于指向首元素的指针,解释了char**p=a;的合法性。随后对比了数组和双重指针的本质区别:数组是固定大小的连续内存空间,而指针是可变的地址变量。通过两种方法(数组方式和指针运算)解答了题目,并辅以内存布局图示和形象比喻(图书馆书架和快

进程与线程:从零开始彻底搞懂并发编程的核心概念(C++实战版)

摘要:本文用生活化比喻和C++实战案例,深入浅出地讲解了进程与线程的核心概念。进程是程序的运行实例,拥有独立资源;线程是进程内的执行单元,共享进程资源。文章通过餐厅经营、银行取款等生动案例,对比了两者的区别与联系,并详细介绍了C++11多线程编程(包括线程创建、同步机制、锁的使用等)。最后指出多线程能提升程序效率但需注意线程安全,并根据不同场景建议选择多进程或多线程方案。理解这些概念是编写高效稳定

    共 35 条
  • 1
  • 2
  • 3
  • 4
  • 请选择