logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

debug实例与分析(一)

(按字节逐位拷贝), s1构造时,在堆上new了一块内存,m_name指针指向这块内存(比如地址0x100),存放字符串"张三", 用s1拷贝构造s2、s3时,默认拷贝构造函数只会把s1的m_name指针的值(0x100)复制给s2、s3的m_name,不会重新申请新的堆内存,所以最终结果:s1、s2、s3三个对象的m_name,指向了同一块堆内存,main函数结束时,局部对象会按构造逆序析构,先

#c++#算法#开发语言
Linux信号机制(上)

本文介绍了Linux信号的基本概念与产生方式。信号是操作系统向进程发送的异步事件通知机制,类似于生活中的各种提醒信号。主要内容包括:1. 信号概念:通过生活类比解释信号是异步事件通知,进程可以预先定义处理方式(默认、自定义或忽略)。2. 信号产生方式:- 键盘输入(如Ctrl+C产生SIGINT)- 系统调用(kill、raise、abort等)- 硬件异常(如除零错误产生SIGFPE,段错误产生

文章图片
#linux#运维#服务器
Linux信号机制(上)

本文介绍了Linux信号的基本概念与产生方式。信号是操作系统向进程发送的异步事件通知机制,类似于生活中的各种提醒信号。主要内容包括:1. 信号概念:通过生活类比解释信号是异步事件通知,进程可以预先定义处理方式(默认、自定义或忽略)。2. 信号产生方式:- 键盘输入(如Ctrl+C产生SIGINT)- 系统调用(kill、raise、abort等)- 硬件异常(如除零错误产生SIGFPE,段错误产生

文章图片
#linux#运维#服务器
vibe coding之opencode的使用

随着 AI 编程工具的发展,Vibe Coding 正在改变传统的软件开发模式。本文以开源编程代理 OpenCode 为例,介绍其安装配置、模型切换、Plan 与 Build 工作模式、AGENTS.md 初始化机制及常用命令的使用方法。同时结合 C++ 数据结构项目,演示如何利用 OpenCode 与 Google Test(gtest)完成单元测试的生成、运行与验证。通过本文的学习,读者能够快

文章图片
#单元测试
进程间通信的基本概念(上)

本文介绍了进程间通信中的匿名管道机制。主要内容包括:1. 环境准备:从CentOS切换到Ubuntu系统,配置VSCode远程连接Linux服务器;2. 进程通信原理:解释进程隔离导致通信需求,介绍POSIX标准统一接口;3. 匿名管道详解:通过fork创建父子进程共享管道文件描述符,实现单向通信;4. 代码示例:演示管道创建、读写操作及五种特性验证;5. 管道特性总结:血缘关系限制、单向通信、进

#linux#服务器#运维
C++IO库的超详细讲解

本文系统介绍了C++中的IO流操作,主要包括:1. IO流状态管理:讲解goodbit、eofbit、failbit、badbit四种状态标志及其处理方法,演示如何通过cin.clear()恢复流状态。2. 输出缓冲区机制:解释缓冲区的必要性及刷新条件,包括手动刷新(std::endl/std::flush)和系统强制刷新等情况,通过代码示例验证缓冲行为。3. 标准IO流:分析cin/cout等标

#c++#开发语言
基础开发工具(下)

程序的发布方式有两种,debug模式和release 模式, Linux gcc/g++ 出来的⼆进制程默认是release 模式,所以要使用gdb调试,必须在源代码上成⼆进制程序的时候,加上-g 选项,如果没有添加,程序无法被编译成debug模式。由于我已经安装了git,自然是nothing to do,而未安装的,看到complete就代表安装成功了,而。<3>.在创建好的仓库里,点击克隆,再

文章图片
#elasticsearch#大数据#搜索引擎
进程控制之进程等待

本文介绍了Linux系统中进程等待的必要性及相关函数wait和waitpid的使用。重点讲解了进程等待的三种方式:1)阻塞等待(wait和waitpid默认模式),父进程会一直等待子进程退出;2)非阻塞等待(WNOHANG选项),父进程轮询检查子进程状态,期间可以执行其他任务;3)状态参数status的解析方法,包括WEXITSTATUS获取退出码和WIFEXITED判断正常退出。通过代码示例演示

#服务器#linux#运维
进程的控制

本文主要介绍了进程创建和终止的相关知识。在进程创建方面,重点讲解了fork函数的工作原理,包括父子进程的内存共享机制和写时拷贝技术,分析了这种设计在节省空间和时间上的优势。在进程终止部分,详细说明了进程退出的三种场景,介绍了main函数返回值作为进程退出码的作用,以及如何通过echo $?查看退出码。同时对比了exit和_exit函数的区别,指出exit会在调用_exit前刷新缓冲区,而_exit

#linux#运维#服务器
模板详细介绍与应用

在C++中,如果我们想要写一个关于int,double的交换函数,就需要这样写,但是我们发现这除了类型,两个函数高度的相似,虽然使用函数重载实现了,但也有一些坏处:<1>.代码复用率比较低,只要有新类型出现时,就需要我们自己增加对应的函数。<2>.代码的可维护性比较低,一个出错可能所有的重载均出错。那么能否告诉编译器一个模型,让编译器根据不同的类型利用该模型来生成代码呢?答案就是模板的出现。泛型编

文章图片
#算法#数据结构
    共 14 条
  • 1
  • 2
  • 请选择