自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C/C++

阅读|思考|产出|进步

  • 博客(405)
  • 资源 (1)
  • 收藏
  • 关注

原创 `aarch64-mix210-linux-strip` 命令详解

专用于移除针对 ARMv8-A 架构(AArch64)编译的可执行文件、共享库或目标文件中的符号表和调试信息。接口)未被移除,否则导致加载失败。此方法兼顾发布体积与调试需求。避免因误删符号导致无法调试。后,需确保导出符号(如。检查关键符号是否存在。

2025-06-12 23:14:29 255

原创 lsusb命令

以下是在Ubuntu系统下使用lsusb命令的。

2025-06-12 22:57:46 393

原创 wpa_cli -i wlan0 reassoc 命令

【代码】`wpa_cli -i wlan0 reassoc` 命令详解。

2025-06-12 22:49:52 276

原创 dmesg 命令的完整指南

是 Linux 系统调试的。

2025-06-12 22:42:10 244

原创 使得编译生成的包体积尽可能的小

生成 Release 配置并加最小化参数编译(可选)strip 进一步瘦身这样生成的二进制文件会极小且没有调试信息,适合嵌入式、发布环境等空间敏感场景。

2025-06-12 19:17:10 180

原创 Linux系统中查看文件大小的常用命令

du -h filename # 人类可读格式(显示占用的磁盘块大小)ls -lh filename # 人类可读格式(KB/MB/GB)特点:同时展示实际大小(Size)和磁盘占用(Blocks),适合深度分析。du -h 磁盘占用空间 分析存储占用(如小文件优化) 反映真实磁盘消耗。分析磁盘占用 → 用 du -h filename(优化存储时必备)。显示文件占用的磁盘块空间(而非纯内容大小),因文件系统块大小而异。小文件(如 1 字节)可能显示为 4K(默认块大小为 4KB)。

2025-06-12 18:52:30 94

原创 Linux系统编译程序文件

文件类型扩展名内容作用生成命令示例源代码文件.c.cpp原始程序代码编译起点手动编写预处理文件.i展开头文件/宏后的代码消除预处理指令汇编文件.s汇编指令生成机器码基础目标文件.oELF格式机器码 + 符号表链接的输入单元可执行文件无完整ELF文件 + 启动代码直接运行静态库.a多个.o的归档编译时嵌入动态库.so位置无关代码 + 符号表运行时加载核心转储文件core程序崩溃时的内存状态调试崩溃原因程序崩溃时自动生成Map文件.map内存地址分配详情优化内存布局。

2025-06-12 08:51:05 614

原创 awk 命令详解

以下是对。

2025-06-08 08:57:15 967

原创 DDR5技术从入门到精通的全流程详解

以下基于JEDEC JESD79-5标准及行业实测数据。

2025-06-08 08:36:05 875

原创 DDR4技术从入门到精通的阶梯式详解

分别从四阶段,一步一步详解。

2025-06-08 08:15:06 657

原创 DDR3技术从入门到精通的阶梯式详解

每个Bank由行(Row)和列(Column)构成寻址矩阵。:信号完整性设计+故障注入测试(章节三、五)连接I/O接口,实现单周期8倍数据吞吐。:模拟指令流+时序参数调优(章节二、四):理解Bank矩阵与预取机制(章节一)8bit Prefetch缓存。执行ZQCL指令(512周期)控制器发送Leveling模式。写入数据时动态调整DQS。16bit I/O接口。保持低电平>100ns。DRAM反馈DQS延迟。控制器计算相位补偿值。8 Bank存储阵列。差分时钟CK/CK#

2025-06-07 21:23:21 783

原创 lseek 函数

⚠️ 注意:需确保文件支持定位(如普通文件支持,管道/TTY设备不支持)。(即读写指针位置)。通过它可实现文件的随机访问(非顺序读写)。是 Linux 系统调用,用于修改文件描述符(fd)关联的。),适用于高效处理大文件(如视频预分配空间)。为距文件开头的字节数;需用互斥锁避免竞争。

2025-06-01 21:36:31 339

原创 Docker学习记录复习

Docker学习记录复习

2025-05-28 22:36:50 636

原创 gRPC的使用

gRPC使用复习

2025-05-28 21:36:19 955

原创 C++缓存机制

优先使用智能指针:避免内存泄漏(如数据布局与局部性:优化结构体和循环访问模式。多线程环境优化:避免伪共享,使用原子或无锁结构。工具辅助:Valgrind检测缓存问题。

2025-05-28 17:48:15 1008

原创 HTTP协议逐步讲解

通过以上步骤和图表,可全面理解HTTP协议的工作原理及实现细节。如需进一步分析具体场景(如HTTPS加密、性能调优),可结合工具(Wireshark抓包)和代码实践深入验证。,客户端(如浏览器)主动发起请求,服务器处理后返回响应。2. 转发请求(可选缓存检查)1. 发送HTTP请求。3. 返回HTTP响应。版本 状态码 状态消息。

2025-05-28 17:40:36 826

原创 C++内存管理简解

优先使用智能指针:避免手动new/delete。遵循RAII原则:资源管理类封装(文件句柄、网络连接等)。性能敏感场景优化:内存池、对齐、缓存友好设计。工具辅助验证:Valgrind、ASan确保代码健壮性。

2025-05-28 17:37:02 878

原创 在Ubuntu 系统上使用sysstat

使用 Protocol Buffers 定义服务接口(.proto。

2025-05-28 17:28:03 617

原创 RPC框架

使用 Protocol Buffers 定义服务接口(.proto。

2025-05-28 17:23:38 577

原创 布鲁过滤器

通过这种分层的实现方式,可以更好地理解布鲁过滤器的核心机制,并根据实际需求选择标准版或计数版实现。关键是要根据具体应用场景合理选择位数组大小和哈希函数数量,在空间效率与误判率之间取得平衡。

2025-05-28 13:36:10 1282

原创 合并两个已排序的数组_记录

其核心思路是从两个数组的有效数据尾部开始比较,将较大者放入第一个数组的末端空间,避免覆盖未处理的元素。合并两个已排序的数组, 第一个数组的有效数据长度为m,第二个数组的有效数据长度为n,已知第一个数组中空间足够。

2025-05-28 13:34:32 255

原创 自定义实现`memcpy` 函数

核心特性与实现要点1. 内存重叠处理机制检测条件:当源地址低于目标地址且源地址范围覆盖目标地址时(),需反向拷贝反向拷贝示例若源地址 在 的前方且存在重叠区域,从前向后拷贝会覆盖未处理的源数据。例如:,,拷贝3个元素正向拷贝结果:(错误)反向拷贝结果:(正确)2. 基础实现逻辑类型转换:将 转换为 实现逐字节操作空指针检查:确保输入指针的有效性3. 性能优化直接内存操作:避免了 C++ 对象构造/析构的开销,适用于 POD 类型时间复杂度:严格 O(n

2025-05-28 12:32:11 561

原创 混合云网络架构分步详解

跨国运输时,记得给包裹买“保险”(加密协议),否则半路被劫镖(数据泄露)就完蛋了!先破解加密箱,再冒充CEO通过安检,最后绕过防火墙…“以前养100台服务器天天吃灰,现在用多少租多少,省下的钱够买十辆玛莎拉蒂!促销结束立马解散,老板真会省钱!“再也不用对着不同仓库改配置了!一个集装箱搞定所有!两者的配合需要一套智能物流网络!混合云就像一家快递公司,总部设在自家建的。快递车走什么路,决定了包裹能否准时送达!(私有云),同时在各大城市租用。把货物标准化,全球通行无阻!总部物流中心-私有云。

2025-05-27 18:54:46 845

原创 Linux TCP/IP协议栈原理与调优排障

比如把默认接收窗口从几KB调到几MB,让数据包像货车一样多装货(增大吞吐量)。:下次网络卡顿,可以中二地喊一句——“TCP滑动窗口,开!

2025-05-27 18:51:15 834

原创 Linux定时任务命令

替代传统cron,支持更精确的时间控制和依赖管理,适用于复杂任务。:用于设置周期性执行的计划任务,适用于每日、每周等规律性任务。:执行单次任务,适合临时性需求(如几小时后重启服务)。

2025-05-27 18:39:00 348

原创 Linux TCP/IP协议栈原理的通俗理解

通过这种分层协作机制,Linux TCP/IP协议栈实现了高效、可靠的网络通信。如需深入技术细节(如内核源码分析),可参考相关文档。

2025-05-27 18:36:20 248

原创 Linux系统运行时参数命令_笔记

监控范围: 主要分为CPU、内存、磁盘、网络四大模块命令特点: 大部分命令不是专为单一模块设计,需要先掌握基础命令再细分侧重点推荐资源: Netflix高级性能架构师Brendan Gregg的博客http://www.brendangregg.com。

2025-05-26 22:18:50 664

原创 败者树分步详解与C++实现

败者树通过减少冗余比较次数(仅需比较路径节点而非兄弟节点),成为多路归并排序的核心优化手段。其C++实现需注意叶子节点的动态更新和内部节点的索引维护。上图直观展示了树结构的动态调整过程,帮助理解其核心机制。

2025-05-26 10:46:49 613

原创 胜者树分步详解与C++实现

胜者树通过树形结构减少比较次数,适合需要频繁查询极值的场景(如多路归并排序)。结合图可直观展示其动态调整过程。C++实现中需注意数组索引与完全二叉树结构的对应关系。

2025-05-26 10:42:35 687

原创 C++ 协程(Coroutine)使用详解

C++ 协程(Coroutine)使用复习

2025-05-19 19:46:17 978

原创 C++ 实现 MySQL 连接池

C++ 实现 MySQL 连接池 复习

2025-05-19 19:30:28 843

原创 C++ 实现内存池

C++ 实现内存池

2025-05-19 19:17:15 585

原创 C++实现红黑树

红黑树复习

2025-05-19 19:04:52 954

原创 异步编程中std::async的使用

异步编程中std::sync的使用复习

2025-05-19 18:07:11 575

原创 使用C++一步一步实现线程池

线程池是一种多线程编程模式,在程序启动时创建一组线程,并将其放入一个“池”中。任务被提交到线程池后,空闲线程会从任务队列中取出任务并执行。这样可以避免频繁创建和销毁线程的开销,提高性能。运行这段代码,你会看到 8 个任务被 4 个线程并发执行,每个任务休眠 1 秒后完成。下面是完整的线程池实现代码,包含所有必要的组件。我们将使用模板支持各种任务类型(如函数、lambda 表达式等)。线程池类将包含任务队列和工作线程,并提供任务提交接口。任务队列需要支持多线程访问,因此我们使用。下面,我将通过改进以上的。

2025-05-19 16:52:03 511

原创 C语言协程开源库libaco的使用

协程

2025-05-19 15:14:07 327

原创 istringstream的简化源码详解

istringstream的简化源码详解

2025-05-12 18:24:41 62

原创 段错误(Segmentation Fault)总结

段错误(Segmentation Fault)总结

2025-05-12 17:27:41 399

原创 C/C++多线程编程:POSIX线程库

C/C++多线程编程:POSIX线程库 复习

2025-05-10 10:01:37 336

原创 C++ 完美转发

C++ 完美转发复习

2025-05-07 21:25:16 1018

《设计模式的艺术》复习记录

创建型模式: 单例模式、简单工厂模式、 工厂方法模式、抽象工厂模式、原型模式和建造者模式

2024-05-04

php登录注册页面

简洁的登录注册页面,能实现注册数据同步到接数据库。

2018-12-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除