logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 信号(二):信号的产生

本文主要介绍了Linux系统中信号的产生方式及其应用。信号可通过终端按键(如Ctrl+C产生SIGINT)、系统调用(kill/raise/abort)、硬件异常(SIGSEGV/SIGFPE)和软件条件(如alarm定时器)四种途径产生。通过代码示例展示了信号处理函数的注册、进程间信号发送、周期性任务调度等应用场景。文章还解释了coredump机制(通过SIGQUIT触发)及其调试用途,以及子进

#linux#算法#c++ +3
深入 Linux 线程机制(一):从进程到线程,理解“轻量级进程“的真相

本文深入探讨了Linux系统中线程的本质与实现机制。通过分析Linux内核中的task_struct结构,揭示了线程作为轻量级进程的实质:线程是共享同一虚拟地址空间的task_struct执行流,与进程的区别主要在于资源共享范围。文章对比了Linux与Windows的线程设计思想,阐述了线程在调度效率、资源共享方面的优势,同时指出了线程安全、异常处理等方面的局限性。最后总结了线程共享和私有的数据结

#linux#c++#开发语言 +2
一文打通网络基础:发展史+协议+数据传输逻辑全讲透

本文系统梳理了计算机网络的发展历程与技术演进,从早期独立运行的计算机(1940-1960)到批处理系统、分时操作系统,再到ARPANET(1969)实现计算机互联,最终形成现代互联网(1983年TCP/IP协议确立)和Web时代(1990)。重点解析了网络协议的分层架构(OSI七层/TCP/IP五层模型),阐明协议通过分层实现模块化解耦的核心思想。深入剖析局域网通信的MAC地址机制和跨网传输的IP

#网络
Linux 信号(三):信号的保存

本文深入探讨了Linux信号的保存机制。当信号产生但进程暂时无法处理时,信号会被保存在内核维护的三个关键数据结构中:pending表记录未决信号,block表记录被阻塞信号,handler表存储信号处理方式。文章详细介绍了信号相关概念(递达、未决、阻塞与忽略的区别)以及内核中的信号集表示方式(sigset_t位图结构)。同时讲解了信号集操作函数(如sigemptyset、sigprocmask等)

#linux#运维#服务器 +2
C++11类的新特性:移动语义、default、delete、override详解

本文摘要: C++11引入了移动构造和移动赋值运算符,默认生成条件为未声明相关函数且无析构/拷贝构造/拷贝赋值。成员变量声明时可赋缺省值,用于初始化列表。default关键字显式要求编译器生成默认函数,解决手动实现繁琐问题。delete明确禁止函数调用(如禁止拷贝),比私有化更语义清晰。final修饰类禁止继承或修饰虚函数禁止重写。override确保子类正确重写父类虚函数,编译期检查函数签名一致

文章图片
#c++#开发语言
C++11 可调用对象体系详解:从 reference_wrapper 到 bind 与 function

本文介绍了C++中三种常用的包装器工具:reference_wrapper、bind和function。reference_wrapper通过将引用封装为对象,解决了容器无法直接存储引用的问题;bind作为函数适配器,可以固定、重排或部分绑定函数参数;function则能统一存储不同类型的可调用对象。文章详细分析了各包装器的使用场景、实现原理及优缺点,特别指出bind在可读性和错误信息方面的不足,

文章图片
#c++#开发语言
深入剖析 C++ 异常机制:异常对象、栈展开与 noexcept

本文系统介绍了C++异常处理机制。主要内容包括:1. 异常概念:异常将正常逻辑与错误处理分离,通过throw抛出异常,由catch捕获处理,相比C语言错误码方式更清晰高效。2. 语法结构:详细讲解try监控代码块、throw抛出异常对象、catch捕获匹配异常的语法规则,包括类型匹配原则和catch(...)万能捕获。3. 关键特性:分析异常对象传递机制、栈展开时的对象析构过程、异常重新抛出(th

文章图片
#开发语言#c++
C++11 智能指针深度解析:原理、实现与最佳实践

本文从 RAII 思想出发,系统介绍 C++11 智能指针的产生背景及设计原理,详细分析 auto_ptr、unique_ptr、shared_ptr 和 weak_ptr 的特点与适用场景。重点讲解 shared_ptr 的引用计数机制,并通过手写实现深入理解其底层原理。同时探讨循环引用、线程安全、自定义删除器、make_shared 等关键问题,最后结合内存泄漏的成因与检测方法,总结现代 C+

文章图片
#c++#开发语言
C++11 ---- 列表初始化

自定义类型本质是类型转换,先根据初始化列表产生构造临时对象,临时对象再调用拷贝构造进行初始化对象,由于编译器优化,这一过程直接变成用初始化列表进行初始化对象。int _month;int _day;int main()// C++11 支持的// 这里的本质是:先用{ 2026,5,29 }构造一个Date临时对象// 临时对象再去拷贝构造d1,由于编译器会进行优化。

#c++
C++11 ---- 右值引用、值类型

本文摘要:C++11引入右值引用特性,用于区分左值和右值。左值持久存储可寻址,右值短暂存在不可寻址。右值引用通过Type&&语法为右值创建别名,支持移动语义实现资源高效转移。移动构造和移动赋值通过浅拷贝加源对象置空的方式提升性能。右值引用能延长临时对象生命周期,与左值引用共同优化参数传递和返回值场景。底层实现上,引用本质都是指针,但右值引用需额外创建临时变量。C++11进一步将值分

#c++#开发语言
    共 21 条
  • 1
  • 2
  • 3
  • 请选择