长安一梦个人主页

C++new和delete实现原理解析

1、new的底层实现: new运算符通常分为两部分:分配内存和调用构造函数。对于内置类型,new只负责分配内存。对于自定义类型,new先分配内存,然后调用构造函数。 T* p = new T(args); ​ //底层等价于: // 1. 分配内存 void* mem = operator new(

Administrator Administrator 发布于 2026-01-09

关于虚函数几个容易误解的点

为什么构造函数不能是虚函数? 虚函数的调用依赖于虚函数表(vtable),而虚函数表是在构造函数中初始化的。在构造函数执行之前,对象还没有完全构建,虚函数表还没有建立,因此无法调用虚函数构造函数。 从语义上讲,虚函数是用来实现多态的,即在运行时根据对象的实际类型来调用相应的函数。但是,在对象构造期间

Administrator Administrator 发布于 2026-01-09

OSI七层模型详解

本文是关于 OSI(开放系统互联)模型的复盘。OSI模型是一个概念性框架,用于理解和标准化网络通信中各种功能的实现方式。它将复杂的通信过程分解为七个独立的层次,每一层都为上一层提供服务,并利用下一层的服务。 核心思想与价值 分层解耦:每层只关心自己的特定功能,不关心其他层如何具体实现。这使得开发、替

Administrator Administrator 发布于 2026-01-08

构建事件驱动的实时音视频流处理系统:设计与实现详解

  事件驱动是基本概念,这里不做赘述,参见上篇文章 事件驱动架构。 一、事件驱动   事件驱动是一种编程范式或系统设计模式,其核心思想是:程序的执行流程由外部事件(如用户操作、消息、传感器信号等)触发,而非传统的顺序执行。在这种模式下,程序会监听并响应各种事件,每个事件会触发相应的处理函数(回调函数

Administrator Administrator 发布于 2026-01-08

IO多路复用-epoll

完整C++实现 #include <iostream> #include <cstring> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <sy

Administrator Administrator 发布于 2026-01-06

IO多路复用-poll

C++语言完整实现 #include <iostream> #include <vector> #include <string> #include <cstring> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.

Administrator Administrator 发布于 2026-01-06

IO多路复用-select

select 服务端 #include <iostream> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <fcntl.h> #include

Administrator Administrator 发布于 2026-01-06

为什么需要区分.bss段和.data段?

在计算机程序的内存布局中,bss段和.data段都是用于存储全局变量和静态变量的区域,但它们的用途和特性不同。区分它们的主要原因是优化可执行文件的大小和初始化效率。 .data段: 存储已初始化的全局变量和静态变量。 这些变量在程序开始运行之前就已经有了初始值。 这些初始值需要存储在可执行文件中,因

Administrator Administrator 发布于 2026-01-04

Valgrind实战-本地编译valgrind部署到生产环境

1、下载源码 从如下地址手动下载源码: https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2 或者: # 下载源码(valgrind-3.25.1.tar.bz2 为例) wget https://sourceware.org/pu

Administrator Administrator 发布于 2026-01-04

进程地址空间(C++程序内存分布)

一、内存分布图 高地址 ┌─────────────────┐ │ 栈(stack) │ ← 局部变量、函数调用等 ├─────────────────┤ │ ↓ │ │ 空洞/未使用 │ │ ↑ │ ├────

Administrator Administrator 发布于 2025-12-29
上一页 下一页