自定义博客皮肤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)
  • 收藏
  • 关注

原创 cpp内存序

摘要:C++内存序是多线程编程中控制共享内存访问顺序的关键机制,通过限制指令重排和缓存同步确保数据一致性。包含4种内存序:松弛序(仅原子性)、释放-获取序(线程间同步)、释放-消费序(依赖关系)和序列一致序(全局一致)。实现基于内存屏障技术,开发者需权衡正确性与性能,优先使用严格模式(seq_cst),并借助工具检测。典型应用于无锁数据结构等并发场景,要求深入理解内存模型和硬件特性。(149字)

2025-11-04 10:56:19 297

原创 go语言的方法和接口

本文介绍了Go语言中方法与接口的核心概念。方法是通过接收者参数实现的特殊函数,可以为结构体或其他类型定义,支持指针接收者以修改值。接口由一组方法签名定义,类型通过实现这些方法隐式满足接口。文章还讲解了错误处理、数据流读取和图像处理中的接口应用,包括error接口、io.Reader接口和image.Image接口的典型用法。这些特性构成了Go语言面向对象编程的基础,通过接口实现了灵活的类型系统和多态行为。

2025-11-03 10:52:21 420

原创 go语言指针,结构体,数组,切片以及map的使用

本文介绍了Go语言中指针的概念与用法。指针存储变量地址,通过*声明、&获取地址,解引用可访问/修改数据。文章涵盖指针的声明初始化、函数参数传递、结构体/数组应用,以及nil指针安全注意事项。同时对比了Go与C指针的差异(如无指针运算),并指出指针在性能优化和数据结构中的实际应用场景。此外,还简要提及结构体、切片、map和闭包等核心特性,包括切片动态扩容、make创建及range遍历等操作。

2025-10-30 11:34:19 793

原创 Go语言流程控制语句详解

Go语言提供了简洁高效的流程控制语句。for循环是唯一的循环结构,支持传统形式、while替代和无限循环,语法简洁无需括号但需花括号。if-else允许在条件前执行简单语句,表达式无需括号。switch支持表达式和类型匹配,自动终止case但可fallthrough。defer用于延迟执行,栈式调用(LIFO)常用于资源释放。最佳实践包括简化嵌套、合理使用break/continue、拆分复杂判断、避免defer滥用等。常见错误包括闭包变量捕获、遗漏花括号、意外fallthrough等问题,建议使用静态分析

2025-10-29 11:14:40 341

原创 c/c++中socket的使用

网络通信本质是通过IP地址和端口号实现的进程间通信。Socket编程基于TCP/UDP协议建立连接:TCP提供可靠传输,服务器需bind()、listen()和accept();UDP则无连接但高效。示例代码展示了TCP服务器/客户端的完整交互流程,包括socket创建、绑定、数据传输和连接关闭。UDP服务器通过recvfrom()和sendto()实现数据收发。两种协议分别适用于文件传输和实时应用等不同场景。

2025-10-24 14:32:08 356

原创 c/c++拦截文件操作

本文介绍了Linux系统中多种拦截过滤技术,包括动态库劫持、系统调用劫持、堆栈式文件系统、Inline Hook以及LSM与eBPF Hook。动态库劫持通过LD_PRELOAD环境变量优先加载自定义库覆盖标准函数;系统调用劫持则通过修改sys_call_table函数指针实现内核级拦截;堆栈式文件系统在VFS层实现动态加解密;Inline Hook直接修改函数指令跳转;LSM和eBPF提供可插拔的安全框架。这些技术各有适用场景和优缺点,需根据具体需求选择合适方案,同时注意安全性、兼容性和性能等关键因素。

2025-10-23 16:16:23 908

原创 cpp中部分win api的使用

本文介绍了使用WinAPI监控设备插拔和文件变更的方法。核心是通过RegisterDeviceNotification注册设备通知,监听WM_DEVICECHANGE消息来检测U盘、打印机等外设的插拔事件,并使用ReadDirectoryChangesW监控文件目录变更。文中提供了设备类型GUID、事件类型等关键参数,并给出监听U盘的C++代码示例,包括窗口过程函数和通知注册的实现。这些方法适用于需要实时响应系统设备或文件变化的Windows应用程序开发。

2025-10-18 00:01:32 416

原创 epoll的使用

epoll的使用

2025-08-31 15:48:11 372

原创 QWidget常用API

本文总结了Qt框架中QWidget类的主要API,包括窗口构造、父子关系管理、几何属性设置、尺寸控制、图标标题设置、显示状态控制及相关信号。QWidget作为Qt中所有窗口控件的基类,提供了创建和管理GUI窗口的基本功能,如位置/尺寸调整、窗口层级关系、可见性控制等。这些API涵盖了窗口开发的基础需求,是Qt GUI编程的核心内容。开发者可以通过这些方法实现窗口的布局、外观定制和交互控制。

2025-06-01 18:16:06 285

原创 CPP进程间的通讯

本文介绍了C++中进程间通信(IPC)的两种主要方式:管道和消息队列。管道通信:分为匿名管道(pipe)和命名管道(mkfifo)匿名管道用于父子进程通信,通过pipe()创建命名管道可通过文件名访问,适用于无亲缘关系的进程注意管道是单向通信,需要妥善关闭不使用的端口消息队列:重点介绍了ZeroMQ的实现方式详细说明了PUSH-PULL模式的使用方法推送端(PUSH)绑定端口发送消息,拉取端(PULL)连接端口接收消息简要提及了其他通信模式(REQ-REP、PUB-SUB等)文中提供

2025-05-28 19:18:30 1383

空空如也

空空如也

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

TA关注的人

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