自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (5)
  • 收藏
  • 关注

原创 GO语言学习-基础篇-函数使用及相关技巧总结

本章谈一谈阅读了之后,关于GO函数使用区别于其他语言的一些体会。

2025-08-27 17:22:55 1000

原创 GO语言学习-基础篇-项目结构管理

go语言项目结构管理

2025-08-24 20:16:50 1021

原创 ELF文件介绍

本文介绍了ELF(可执行与可链接格式)文件的结构及其在C++程序中的应用。ELF文件包含ELF头部、程序头表、节区和节区头表四个主要部分:头部标识文件类型和架构;程序头表指导操作系统加载程序;节区存储实际代码和数据;节区头表描述各节区信息。文章详细解析了各部分功能,并列举了常见节区(.text、.data、.bss等)的用途。ELF文件在编译链接、程序加载、动态链接和调试过程中发挥关键作用,理解其结构有助于深入掌握程序运行机制。

2025-08-14 23:42:39 669

原创 c++源文件到可执行程序的详细过程

C++编译过程详解 C++编译是一个将人类可读代码转换为机器可执行程序的完整流程,主要分为四个阶段: 预处理阶段:处理源代码中的宏、头文件包含和条件编译指令,生成纯C++代码文件(.i/.ii) 编译阶段:进行词法分析、语法分析、语义分析,生成中间代码并优化,最终输出汇编代码(.s) 汇编阶段:将汇编代码转换为机器指令,生成二进制目标文件(.o/.obj) 链接阶段:合并多个目标文件和库文件,解析符号引用,生成最终可执行程序 每个阶段都有特定的输入和输出,通过GCC等编译器工具链可以逐步观察这一转换过程。理

2025-08-14 23:39:35 2256

原创 读写锁以及其简易实现(Reader-Writer Lock)

读写锁:多读少写场景的高效同步原语 读写锁(Reader-Writer Lock)是一种优化多线程读写的同步机制,允许多线程并发读但独占写。C++17引入的std::shared_mutex通过共享锁(读)和排他锁(写)实现:读锁不互斥,写锁阻塞所有操作。其优势在于读多写少场景(如缓存、配置管理),但需注意写者饥饿(持续读阻塞写)和写竞争性能下降问题。解决方案包括写者优先策略或无锁结构。 实现原理:基于互斥锁和条件变量,核心状态包括读者数、写者活动标志和等待写者数。伪代码展示了通过条件变量协调读写线程的流程

2025-08-14 23:26:32 662

原创 浅谈一下多线程编程中的锁机制

锁机制是多线程编程中控制共享资源访问的核心工具。文章从物理锁的类比出发,阐述了编程锁的本质是排他性访问控制,并通过详细分类表对比了各类锁的特性。C++标准库提供了多种互斥锁(基础互斥、可重入锁、超时锁)、读写锁以及RAII管理工具,适用于不同并发场景。锁的选择需权衡互斥性、可重入性、公平性和性能开销等因素,以平衡数据安全性与程序效率。

2025-08-14 23:22:27 992

原创 使用epoll实现一个定时器

本文介绍了如何使用Linux的timerfd和epoll机制实现一个高性能定时器。主要内容包括:1) 定时器的基本功能需求分析;2) timerfd机制的优势及创建方法;3) 通过epoll监听定时器事件;4) 关键实现细节,包括定时器创建、事件处理循环和资源管理等。文中提供了完整的C++代码实现,重点解决了定时器回调与I/O事件统一处理的问题,并采用RAII模式确保资源安全释放。该方案适用于需要高精度定时且避免信号中断的应用程序场景。

2025-08-14 23:16:42 1100

原创 浅谈线程池技术并做一个简易实现

文章摘要: 线程池是一种优化多线程性能的机制,通过复用线程减少创建/销毁开销。核心组件包括线程集合、任务队列和管理器,Java/Python/C++等语言均提供内置实现。线程池避免了频繁线程操作导致的性能瓶颈和资源浪费,并能控制并发度。其工作流程包括任务提交、队列管理、动态扩展和空闲回收。合理配置线程池大小至关重要,需根据CPU核心数和任务类型调整。示例展示了C++简易线程池实现,包含任务类、线程管理及同步机制(互斥锁/条件变量),演示了初始化、任务提交和资源回收过程。线程池简化了多线程编程,提升了资源利用

2025-08-14 23:03:11 1065

原创 OpenSSH源码分析——PART1

openssh, 源码分析

2023-06-30 15:44:49 4206

原创 x86架构的Ubuntu上通过Docker运行ARM架构的系统

`x86`架构的`Ubuntu`上通过`Docker`运行`ARM`架构的系统

2023-05-21 01:37:15 2425 2

四川大学计算机图形学第六次作业

四川大学计算机图形学帝第六次作业 里面的实现是对材质球的实现 加入了光源的旋转

2018-12-21

四川大学计算机图形学第二三次作业 旋转cube

四川大学计算机图形学第二三次作业,这是对旋转立方体的分布实现的交互演示,里面包括了普通版本和四元素版本

2018-12-21

四川大学计算机图形学第四,五次作业

这里面包括了川大计算机图形学第四五次作业,第四次作业 透视视图下的cube 第五次作业 shadow

2018-12-21

四川大学计算机图形学_第一次作业gasket

四川大学计算机图形学 第一次作业 实现gasket 并加入丰富的交互

2018-12-21

数据结构—最短路径搜索

本代码完成得是结合Dijkstra算法进行最短路径搜索,部分代码是数据结构书中作业的源码,本代码核心用C++实现,UI用C#实现,运行结果时可以进入ShortestPath_Seacher\Seacher_UI\bin\Debug\ShortestPath_Searcher_Final文件夹中运行Searcher_UI.exe

2018-09-11

空空如也

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

TA关注的人

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