- 博客(509)
- 资源 (1)
- 收藏
- 关注
原创 【编程技术】进程、线程、协程介绍
特性进程线程协程定义资源分配的基本单位,程序的一次执行实例CPU调度的基本单位,进程内的一个执行流用户态轻量级执行单元,协作式任务资源拥有独立的地址空间和系统资源共享进程的地址空间和资源,拥有独立栈和寄存器共享线程的资源,拥有独立栈和上下文切换开销很高(内核态切换,涉及内存、页表等)中等(内核态切换,保存恢复寄存器等)极低(用户态切换,仅保存恢复少量寄存器)创建/销毁开销大开销比进程小,但比协程大开销极小通信复杂(IPC机制:管道、共享内存、Socket等)简单(共享内存,但需同步)
2025-07-15 22:13:53
306
原创 【Git】git lfs (Large File Storage)-管理大文件
Git LFS 是管理 Git 仓库中大文件的必备工具。它通过用轻量级指针替换实际大文件内容,保持 Git 仓库的精简和高效,同时提供近乎透明的用户体验。只需记住安装 LFS 客户端、正确配置。(如图像、音频、视频、数据集、二进制文件等)。它能解决传统 Git 在处理大文件时面临的核心问题:仓库体积急剧膨胀、克隆和拉取操作变得极其缓慢。(Large File Storage) 是 Git 的一个扩展,用于高效管理。并提交该文件,之后的操作流程与普通 Git 基本一致。
2025-07-14 18:07:30
348
原创 【嵌入式】CAN 总线技术介绍
CAN FD 数据段波特率切换标志位。:CANopen 实时过程数据对象。:J1939 参数组编号。:发送节点错误状态指示。
2025-07-12 07:05:35
244
原创 【C++】初始化列表(Initializer List)
为类添加接受public:// 初始化列表构造函数private:// 使用// 调用初始化列表构造函数统一语法:简化初始化代码,提高一致性类型安全:阻止窄化转换灵活性:支持自定义类型、STL容器和复杂嵌套结构优先级:初始化列表构造函数优先于其他构造函数推荐在 C++11+ 代码中优先使用{}初始化,以获得更好的安全性和一致性。
2025-07-10 10:44:16
269
原创 【C++】std::atomic(线程安全的原子操作)
是 C++ 多线程编程的基石,它通过硬件支持的原子指令实现了高效的无锁操作。正确使用内存顺序和 CAS 操作可以构建高性能的并发数据结构。对于复杂场景,建议结合高级抽象(如。,确保多线程环境下对共享数据的访问不会导致数据竞争(data race)。它是现代 C++ 并发编程的核心工具之一,位于。是一个模板类,用于提供。
2025-07-07 22:17:18
480
原创 【Python】Python中类的实现
类(Class)是面向对象编程(OOP)的核心概念,用于创建对象的蓝图。它定义了对象的属性(数据)和方法(行为)。类通过封装、继承和多态实现代码复用和模块化。# 类属性(所有实例共享)# 构造方法(初始化实例属性)self.name = name # 实例属性self.age = age # 实例属性# 实例方法。
2025-06-30 21:31:24
562
原创 【Qt】串口通信介绍及代码示例
类实现跨平台串口通信,支持 Windows(COMx)、Linux(/dev/ttySx)和 macOS(/dev/cu.xxx)。:工业设备通信建议添加超时机制和校验(如CRC16),完整项目参考。
2025-06-30 21:25:11
583
原创 【Qt】Qt框架中的宏
类别宏用途必需性元对象Q_OBJECT启用元对象功能★★★★★Q_PROPERTY声明元对象属性★★★★☆Q_ENUM注册枚举类型★★★☆☆信号槽signals声明信号区段★★★★★slots声明槽区段★★★★★emit发射信号(语法糖)★★★☆☆平台抽象Q_OS_*平台条件编译★★★★☆版本检查★★★☆☆资源管理禁用拷贝语义★★★★☆声明标志位类型★★☆☆☆调试qDebug()系列分级日志输出★★★★☆Q_ASSERT运行时断言★★★☆☆国际化。
2025-06-29 23:48:52
1042
1
原创 【C++】C++枚举(enum)及枚举类
枚举(enum)是 C++ 中一种用户自定义的数据类型,用于定义一组命名的整数常量,提高代码可读性和可维护性。C++ 支持两种枚举:传统枚举(C-style)和枚举类(enum class,C++11 引入)。不能,枚举是独立类型。
2025-06-28 22:34:25
384
原创 【C++】C++ union(联合体)使用介绍
union(联合体)是 C++ 中一种特殊的数据结构,允许多个成员共享同一块内存空间。其大小由最大的成员决定,适用于需要节省内存或处理多种类型数据的场景。特性说明内存共享所有成员共享同一内存块大小由最大成员决定成员访问同时只有一个成员有效C++11 扩展支持非平凡类型、成员函数、继承等最佳实践配合枚举标签使用,避免未定义行为现代 C++ 替代优先考虑(C++17)必须由程序员自行确保当前访问的成员是最近修改的成员,否则会导致未定义行为。对于复杂类型,务必实现正确的构造/析构逻辑。
2025-06-28 22:28:41
351
原创 【C++】C++关键字 final
是一个关键字,主要用于限制类继承或虚函数重写,增强程序的安全性和设计控制。放在虚函数声明后,表示该虚函数。在 C++11 及后续标准中,放在类名后,表示该类。(即不能作为基类)。
2025-06-27 20:06:19
268
原创 【Git】git status 命令使用介绍
它是你理解当前仓库状态、确保操作正确进行的最得力助手。养成在几乎任何 Git 操作(尤其是。尤其适合快速查看概要状态。
2025-06-26 14:43:37
658
原创 【Git】git restore 命令使用介绍
是 Git 在 2.23 版本引入的一个。来完成的部分功能,使操作意图更清晰。以避免意外数据丢失。
2025-06-25 11:05:31
458
原创 【Git】git switch 命令使用介绍
git switch是 Git 2.23 版本引入的命令,用于,旨在替代的分支切换功能(文件恢复功能由替代)。它的设计更清晰、语义化,能减少误操作风险。
2025-06-25 10:58:04
669
原创 【Git】git checkout 命令使用介绍
在 Git 的较新版本(大约 2.23 及以后)中,官方引入了两个更专注的命令来分别处理。取决于你的 Git 版本和个人/团队偏好,但理解。的传统用法对于阅读旧文档和脚本至关重要。
2025-06-24 18:58:17
1149
1
原创 【C++】内存池(预先分配大块内存)
在 C++ 中,是一种高效的内存管理技术,通过预先分配大块内存并自主管理分配/释放,减少系统调用次数和内存碎片,显著提升性能(尤其适用于小对象频繁创建/销毁的场景)。
2025-06-24 14:30:16
1052
原创 【Git】git add 命令使用介绍
git add是 Git 工作流中不可或缺的第一步。它让你能够精心挑选下一次提交应该包含哪些更改,将它们放入暂存区,为最终的git commit做好准备。熟练掌握git add及其常用选项(尤其是-A-u-p)是高效使用 Git 的基础。
2025-06-23 21:13:40
964
原创 【Git】git commit命令使用介绍
它会打开一个文本编辑器(通常是 Vim 或系统默认编辑器)让你输入本次提交的详细说明(Commit Message)。暂存)的一组更改,作为一个有意义的、带有描述信息的快照,永久记录到你的项目 Git 历史中的命令。到本地 Git 仓库的历史记录中,创建一个新的提交(Commit)。选项,后面跟上用引号括起来的提交信息。是 Git 版本控制系统中。是将你精心准备(通过。
2025-06-23 21:09:19
980
原创 【Git】git fetch 命令使用介绍
git fetch是 Git 协作工作流中的基石命令。它让你在不干扰当前工作的情况下,同步远程仓库的最新状态到你的本地知识库中(更新远程跟踪分支)。它为安全地审查更改、解决潜在的合并冲突以及在准备好时手动整合远程更新提供了基础。养成经常运行git fetch(尤其是带--prune)的习惯,是保持本地视图与远程仓库同步且整洁的关键。当你需要安全地“看看远程发生了什么”时,git fetch是你的首选命令。
2025-06-22 16:24:22
642
原创 【Git】git remote命令使用介绍
命令用于管理 Git 仓库的远程连接(远程仓库的别名和 URL)。(如切换 HTTPS → SSH)(同时推送到多个仓库)
2025-06-22 16:18:46
363
原创 【Python】Conda求解器介绍(使用mamba求解包依赖更快、更高效)
Conda 的求解器(Solver)是用于的核心组件。它在执行等命令时自动运行,解决复杂的版本约束问题,确保环境兼容性。
2025-06-21 16:37:51
261
原创 【Qt】QDesktopServices(使用默认程序打卡文件、文件夹、网页)
/ 注册应用协议处理器qDebug() << "收到自定义协议请求:" << url.path();});// 系统调用示例id=123核心价值统一跨平台桌面服务接口简化系统集成复杂度减少平台特定代码学习资源跨平台测试工具:Qt Test Framework调试技巧:设置环境变量查看底层调用// 终极示例:综合应用// 打开网页// 打开文档目录// 发送反馈邮件");
2025-06-21 12:37:26
780
原创 【C++】STL中的函数对象(仿函数)
/ 使用示例public:++count;// 计算几何平均数STL 函数对象是 C++ 泛型编程的核心组件,提供了比函数指针更强大的能力。现代 C++ 优先选择 Lambda:简洁安全,自动处理状态捕获复杂逻辑封装为函数对象类:提高代码复用性和可测试性充分利用标准库组件提供丰富预定义对象性能关键路径优化:无状态函数对象 +noexceptconstexprC++20 新特性应用:概念约束、范围库、投影等增强表达力。
2025-06-21 11:34:34
742
原创 【C++】C++11:为什么需要 nullptr
在 C++11 及更高版本中,nullptr是一个表示的关键字,用于替代传统的NULL和0。它解决了旧式空指针在类型安全和重载解析中的问题。
2025-06-21 11:16:10
228
原创 【Linux】shell使用简介
它是你敲命令、运行程序、管理文件、配置系统的主要方式之一。尤其在 Linux 和 macOS 系统中,Shell 扮演着极其核心的角色。Windows 也有自己的 Shell(如。这是 Shell 组合命令、实现复杂功能的灵魂。: 存储系统或用户配置信息的键值对。: 为常用命令创建简短的别名。: 用于模式匹配文件名。文件,赋予执行权限 (: 将一系列命令写入。
2025-06-20 19:36:48
339
原创 【Linux命令】top与htop(系统监控工具)
top是 Linux 系统自带的、最经典的实时系统监控工具。它提供了一个动态更新的视图,展示系统中正在运行的进程及其资源占用情况(CPU、内存、运行时间等)。特点:几乎所有 Linux 发行版都默认安装。提供核心的系统性能概览和进程管理功能。主要通过键盘快捷键进行操作。界面相对原始,信息密度高。htop是top的增强版,提供了更直观、更易用、功能更丰富的交互式实时系统监控体验。特点:通常不是默认安装,需要使用包管理器安装 (
2025-06-20 19:35:58
344
原创 【Linux命令】ssh(登录远程计算机)
的命令之一,用于通过加密的网络连接安全地登录到远程计算机(通常是另一台 Linux/Unix 服务器)并在其上执行命令。它是进行远程系统管理、文件传输和网络调试的核心工具。是 Linux/Unix 系统管理和开发的基石工具。掌握其基本登录、命令执行、端口转发功能以及与密钥认证相关的安全配置至关重要。如果服务器重装系统或密钥变更,会出现警告,需要手动确认或删除旧条目。成功登录后,你将获得远程主机的命令行提示符。可以减少自动化脚本的扫描攻击(但安全主要靠密钥)。命令,将结果输出到本地终端,然后断开连接。
2025-06-19 20:40:26
1284
原创 【Linux命令】clear 或 Ctrl+L(清除终端内容,不删除历史)
是一个简单但必不可少的终端命令,用于快速清理当前终端视口的显示内容,提供一个干净的起点。它的主要替代方式是更快捷的。这个序列告诉终端仿真器:“请清除屏幕上显示的内容,并把光标移回原点”。的二进制文件或一个 shell 内置命令,它们的作用就是发送这个控制序列。按下回车键,当前屏幕上的所有内容会立即消失,光标回到屏幕左上角。来在脚本执行的特定阶段清屏,提供一个更整洁的输出界面。记住它只影响视觉显示,不影响历史记录。命令本身通常只是向终端发送一个特定的。这是最常用的方式,比手动输入。命令查看,第一个终端是。
2025-06-19 20:34:11
407
原创 【Linux命令】作业控制命令(实现前台/后台切换、挂起、恢复等操作)
Linux作业控制命令允许你在单个终端会话中管理多个进程(作业),实现前台/后台切换、挂起、恢复等操作。
2025-06-19 20:25:10
815
原创 【Linux命令】sudo 与 su( 执行更高权限任务)
特性susudo目的切换用户身份 (启动新 Shell)以其他用户身份执行特定命令默认目标用户root需要密码目标用户的密码 (如 root 密码)当前用户自己的密码权限范围切换到新 Shell 后,所有命令拥有目标用户权限仅限sudo后面的单条命令获得提升权限环境可加载目标用户完整环境 (su -默认重置环境变量 (安全考虑)日志记录用户切换,不记录具体执行了哪些命令详细记录谁何时执行了什么命令 (关键审计)配置灵活性基本无配置 (依赖用户密码)高度可配置,精细控制谁可以做什么安全理念。
2025-06-19 20:12:25
1036
原创 【Linux命令】uname(打印系统信息)
uname是 Linux 系统中用于的核心命令,它提供操作系统名称、内核版本、硬件架构等关键信息。在系统维护、脚本编写和问题排查中非常实用。
2025-06-19 19:41:29
331
原创 【OpenGL】VAO (顶点缓冲对象)、VBO(顶点数组对象) 与 EBO (索引缓冲对象)使用示例
VBO (顶点缓冲对象)、VAO (顶点数组对象)、EBO (索引缓冲对象)
2025-06-19 17:57:48
567
原创 【Linux命令】kill(向进程发送终止、挂起、中断、暂停、强制终止信号)
在Linux中,kill命令用于向进程发送信号,默认发送TERM(终止)信号(信号编号15),请求进程。若进程无响应,可使用KILL信号(信号编号9)强制终止。
2025-06-19 12:54:59
559
怎么搞副业,怎么找到一份理想的工作
2025-06-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人