【Linux课程学习】:进程描述---PCB(Process Control Block)
🌷1.操作系统OS也是一个软件,在开机的时候被加载到内存进行运行,到这里才能让操作系统帮我们去运行其他的程序。2.为什么要有PCB?(先描述,再组织)因为操作系统要管理进程,管理系统之前就必须对进程进行描述。3.命令也是一个进程,过滤查看的时候能查到。4.让程序运行起来,本质就是启动了一个进程。命
模拟实现STL中的list
list的底层空间不像string和vector那样是连续的,因此,list的迭代器需要对结点的指针进行封装,来模拟指针的行为。比如:连续空间上的指针进行++操作,直接就能到达后一个数据的位置,但是不连续空间上的指针进行++操作不能到达后一个数据的位置。之所以遮掩设计是为了同时满足const对象和非
在VScode2022中使用Openssl全过程记录
Openssl苦本人久矣,遂决定记录在Visual Studio 2022中调用openssl外部库的流程。
C#与C++交互开发系列(二十一):跨进程通信之使用RabbitMQ实现消息队列通信
在分布式系统或跨语言系统中,消息队列是一种广泛使用的解决方案,用于在不同系统或程序之间实现异步通信。本文将探讨如何使用RabbitMQ在 C# 和 C++ 程序之间实现跨进程通信。RabbitMQ 是一种高效、可靠的消息代理,支持多种语言客户端,包括 C# 和 C++,能够帮助我们在两个不同的进程间
【Linux】:进程信号(再谈信号保存和信号捕捉)
【*★,°*:.☆( ̄▽ ̄)/$:*.°★* 】那么本篇到此就结束啦,如果我的这篇博客可以给你提供有益的参考和启示,可以三连支持一下!信号的处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了,子进程 终止时会通知父进程,父进程在信号处理函数中调用。🔥 如果在调用信号处理函数时,除了当前信
C++20 STL CookBook2 更强大的编译时 + 安全比较 + spaceship比较符
问题是 x 是有符号的,而 y 是无符号的。事实上,将无符号值转换为相同大小的有符号值,因为有符号整数使用二进制补码表示法(使用最高有效位作为符号)。给定相同大小的整数,最大有符号值是无符号值的一半。使用此示例,如果整数是 32 位,-3(有符号)将变为 FFFF FFFD(十六进制),或 4,29
配置vscode的C/C++环境
解压下载的文件。
C#与C++交互开发系列(二十):跨进程通信之共享内存(Shared Memory)
共享内存(Shared Memory)是一种高效的跨进程通信方式,尤其适用于同一台计算机上的进程之间的高速数据传输。与套接字相比,共享内存允许多个进程直接访问同一块内存区域,减少了数据传输的中间步骤,适合需要高性能和低延迟的场景。本文将介绍如何在 C# 和 C++ 之间通过共享内存实现跨进程通信,并
Visual Studio Code(VS Code)配置C/C++环境
本文详细介绍了如何在Visual Studio Code(VS Code)中配置C/C++环境。
【NOIP提高组】潜伏者
R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。历尽艰险后,潜伏于 S 国的R 国间谍小C 终于摸清了S 国军用密码的编码规则:1. S 国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所得的内容均由大写字母‘A’-‘Z’构成(无空格等其他字符)。
【linux】线程概念与控制
详细讲解和实操了linux下线程概念与使用
C++实现---图
稠密图用邻接矩阵更佳,因为稠密图邻接表太复杂。稀疏图用邻接表更佳,因为邻接矩阵浪费空间。
STL关联式容器之RB-tree(红黑树)_中
为了避免中情况4“父子节点皆为红色”的情况,持续向RB-tree的上层结构发展,形成处理时效上的瓶颈,我们可以施行一个由上而下的程序(top-down proceduce):假设新增节点为A,那么就沿着root往A的路径,只要看到有某个节点X的两个子节点皆为红色,就把X改为红色,并把两个子节点改为黑
【Ubuntu】Ubuntu安装编译C/C++环境简易版教程
【Ubuntu】Ubuntu安装编译C/C++环境简易版教程
深度剖析C++STL:手持list利剑,破除编程重重难题(下)
在list的实现中,底层是通过双向链表结构来存储数据。双向链表中的每个节点不仅包含数据,还包含指向前一个节点和后一个节点的两个指针。以下是节点结构的定义:迭代器的作用类似于一个指针,它指向链表中的某个节点,允许我们通过类似指针的方式来访问和操作链表节点。与普通指针不同,迭代器提供了更高级的功能,并且
【Linux课程学习】:Linux的调试器-gdb的使用(常见指令,cgdb)
🎁个人主页:我们的五年🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒🎉欢迎大家点赞👍评论📝收藏⭐文章 ●gdb --version :查看当前gdb的版本。●sudo yum install -y gdb :安装gdb。●-g :生成debug版本的可执行程序。●r
c++--------《set 和 map》
• set的声明如下,T就是set底层关键字的类型• set默认要求T⽀持⼩于⽐较,如果不⽀持或者想按⾃⼰的需求⾛可以⾃⾏实现仿函数传给第⼆个模版参数• set底层存储数据的内存是从空间配置器申请的,如果需要可以⾃⼰实现内存池,传给第三个参数。• ⼀般情况下,我们都不需要传后两个模版参数。• set
QT嵌入支持WEBRTC的网页
就可以开始进行QT上的带视频的网页相关开发了,下面的例子在QT界面插入网页,网页里调用了getUserMedia获取本地视频。本文主要讲在QT开发中,WEBRTC网页版通信的第一步,浏览器与媒体设备(即麦克风和摄像头)的交互的实现。先编译好支持音视频的QtWebEngine或QCefView的其中一
如何使用gtest编写C++单元测试代码
相信很多人都不喜欢编写单元测试代码,但是单元测试对我们来说真的很重要,单元测试可以暴露出我们自己的代码的内部问题,从而保证我们自己的代码的正确性,避免出现各种bug。TEST_F宏的第一个参数是测试套件名,必须要和固件类名一致,第二个参数是测试案例名,自己填写。TEST_P宏的第一个参数是测试套件名
【Linux】:进程信号(详谈信号捕捉 & OS 运行)
✨🌏1. 信号捕捉的流程 💦还记得我们之前说过的吗,处理信号时并不一定立即去处理,有可能此时我们在做一个优先级很高的事情, 此时信号处理就会等到一个合适的时候去处理。现在我们就要来理解一下,什么叫作合适的时候 ❓言归正传,让我们开始讲信号捕捉的具体流程如