自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Linux进程程序替换exec

让子进程执行父进程代码的一部分但是如何让子进程执行一个全新的程序?进程的程序替换:进程不变,仅仅替换当前进程的代码和数据,磁盘上的数据加载到内存中要明白程序的本质就是一个文件 文件=程序代码+程序数据注意进程替换没有创建新的程序,他只是替换原有的。

2023-05-27 17:24:24 77

原创 Linux进程基础知识

task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。有了进程控制块,所有的进程管理任务与进程对应的程序毫无关系,与进程对应的内核创建的该进程的PCB强相关。: 包括显示的I/O请求,分配给进程的I/ O设备和被进程使用的文件列表。: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。: 描述本进程的唯一标示符,用来区别其他进程。: 进程执行时处理器的寄存器中的数据。

2023-05-26 22:44:43 69

原创 Linux优先级

PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为: PRI(new)=PRI(old)+nice。PRI也还是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小。这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行。就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值。PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号。所以,调整进程优先级,在Linux下,就是调整进程nice值。

2023-05-14 18:49:20 111

原创 STL简介

:C++在C++98版本引入的标准模板库。比如将常见的数据结构(顺序、链表、栈和队列,堆、哈希等)以模板的方式进行封装实现了常见的算法(删除值为val的元素、删除偶数等)

2023-05-14 10:08:56 53

原创 C++关联式容器

关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的键值对,在数据检索时比序列式容器效率更高。树型结构的关联式容器主要有四种:map、set、multimap、multiset。在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面。用平衡搜索树(即红黑树)作为其底层结果,容器中的元素是一个有序的序列。那什么是关联式容器?

2023-05-03 21:52:59 56

原创 C++——Vector

所有插入的方法:push_back() insert(v.begin ( ) ,v.end( ) ) resize(newsize,data)T& opeartor[](size_t index) 和 const T& opeartor[](size_t index)const。迭代器失效:由于迭代器的本质是指针,所以失效指的是迭代器对应的 指针失效(指针指向空间不存在 或者 指针成为了一个野指针)迭代器本质:就是对指针的封装。但是它的大小是可以动态改变的,而且它的大小会被容器自动处理。

2023-04-30 10:12:16 35

原创 C++——多态(重写、抽象类、final&override 和 final 关键字)

通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的状态。// 需求:实现一个绘图软件// 如果是圆,画圆// 如果是矩形,画矩形// 如果是三角形,画三角形// 设置一个图形类public:// 虚函数cout

2023-04-30 10:11:31 80

原创 priority_queue:优先级队列(详解+代码示例)

priority_queue 是容器适配器,它提供常数时间的(默认)最大元素查找,对数代价的插入与释出。用 priority_queue 工作类似管理某些随机访问容器中的堆,优势是不可能突然把堆非法化。堆:完全二叉树+条件:任意节点都要比孩子节点小(大)--->小堆(大堆)③优先级队列中元素的比较方式-----默认按照小于的方式比较。注意:虽然按照小于的方式比较,但是默认创建的是大堆。②优先级队列的元素默认是存储到vector中。创建小堆,必须将堆中的元素按照大于的方式比较。

2023-04-24 17:42:39 93

原创 C++——同名隐藏&重写的区别

同名隐藏只要求方法名字相同即可,和返回值类型以及参数列表是否相同没有要求。2.重写要求基类和子类虚函数的原型必须一致(析构和协变除外)1.两个函数都是在继承体系中,一个在基类中,一个在子类中。上述两个条件满足之后,则一定是同名隐藏,但不一定是重写。1.重写在基类的成员函数必须是虚函数。2.两个函数的名字都是相同的。

2023-04-23 21:25:19 96

原创 C++——继承

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保 持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。3. 如果基类定义了带有参数的非全缺省的构造方法,则子类必须实现自己的构造方法,并且必须在其初始化列表的位置显式调用基类的构造方法,对从基类继承下来的成员变量进行初始化。3、可以让基类的指针指向子类的对象,反之则不行——如果一定要让子类的指针指向基类的对象,只能强转。注意:如果有多个基类,每个基类前必须要添加继承权限,否则就是默认的继承权限。

2023-04-13 21:40:13 76

原创 C++迭代器

迭代器是设计模式的一种:iterator模式定义:提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式。

2023-02-23 22:31:33 43

原创 C++——string

在构造时,将资源的计数给成1,每增加一个对象使用该资源,就给计数增加1,当某个对象被销毁时,先给该计数减1,然后再检查是否需要释放资源,如果计数为1,说明该对象时资源的最后一个使用者,将该资源释放;如果n没有传递,表示从pos位置开始一直截取到末尾,如果pos和n都没有传递,将字符串整个进行截取。写时拷贝就是一种拖延症,是在浅拷贝的基础之上增加了引用计数的方式来实现的。从字符串pos位置开始往后找字符c,返回该字符在字符串中的位置。从字符串pos位置开始往前找字符c,返回该字符在字符串中的位置。

2023-02-18 11:47:21 47

原创 Linux项目自动化构建工具-make/Makefile

make clean :像clean这种,没有被第一个目标文件直接或间接关联,那么它后面所定义的命令将不会被自动执行,不过,我们可以显示要make执行。即命令——“make clean”,以此来清除所有的目标文件,以便重编译。注:这里clean没有依赖关系,只有依赖方法。.PHONY 表示总是被执行。这里的$@ 代表mycode $^ 代表mycode.c。makefile里边的内容就可以理解为依赖关系和依赖方法。用make指令执行 就生成可执行文件 mytest。目的是形成可执行程序。

2023-01-14 17:06:00 47

原创 C++——模板

为什么出现模板这一概念?原因:使用函数重载所存在的问题1. 重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数2. 代码的可维护性比较低,一个出错可能所有的重载均出错所以给编译器一个模子,让编译器根据不同的类型利用该模子来生成代码——模板。

2023-01-13 16:46:55 69

原创 C/C++内存管理

new的原理1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作2. 调用函数释放对象的空间new T[N]的原理1. 调用operator new[]函数,在operator new[]中实际调用operator new函数完成N个对象空间的申请2. 在申请的空间上执行N次构造函数delete[]的原理。

2023-01-12 17:30:51 70

原创 c++友元

可分为友元类和友元函数作用:友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以友元不宜多用。

2023-01-12 14:54:32 37

原创 Static成员

static基础概念

2023-01-08 10:37:01 37

原创 C/C++——const成员函数

分分钟了解const成员函数

2023-01-06 10:38:36 90

原创 C++入门——引用

快速了解C++引用

2023-01-05 17:57:16 42

原创 类与对象(构造&析构& 拷贝&赋值运算符重载)

必须要知道的概念

2023-01-05 17:56:22 56

原创 Linux编译器-gcc/g++使用以及函数库的概念

一看就懂 gcc/g++

2022-11-10 22:17:59 227

原创 Linux编辑器-vim使用(非常全,值得保存收藏)

快速帮助了解vim

2022-11-07 22:02:29 186

原创 Linux下安装、卸载软件/软件包管理——Yum

一分钟让你明白yum三板斧

2022-11-04 09:45:50 795 1

原创 Linux权限的概念(用实例证明——详细解说)

本文详细说明了LInux中权限的相关概念即操作

2022-11-03 21:48:57 160

原创 Linux基础指令(有图有真相,附实例)

强烈推荐适合初学者(附实例教程)

2022-11-01 21:42:38 166 1

空空如也

空空如也

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

TA关注的人

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