自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下对文件的操作

先描述在组织,描述时内核创建包含文件信息的结构体,结构体中也含有各种函数指针,指针指向的是调用各个硬件的方法,相当于描述创建的结构体封装了硬件调用的接口,这样就将进程和硬件连接在了一起。Linux下一切皆文件,我们通过验证,发现0、1这样的下标代表的是硬件也可以传入系统调用接口中,这就很好的反映了这句话。第一个参数是打开文件的返回整形,第二个参数是要将文件内容读入的缓冲区,第三个参数是读入缓冲区的大小。的原则:创建指向起始文件的指针,为了方便管理,采用链表形式将。要使文件写入前将文件内容清空,在。

2022-10-22 23:23:24 1085 3

原创 特殊类的实现

在项目中总会有许多特殊的要求,而我们需要掌握一些特殊类的设计来满足需求。

2022-10-15 15:13:28 703

原创 进程的程序替换

调用系统中原有的环境变量或者直接在系统中定义的环境变量时,用系统为我们提供的 environ 所接收环境变量即可;若调用在程序中定义的环境变量,要传递他的指针,用 environ 是获取不到的。

2022-10-02 17:42:27 1493 19

原创 实现list的简单模型

list 是一个带头的双向循环链表。

2022-08-26 12:00:22 362 7

原创 vector的简单模拟

本编文章对 vector 进行简单的模拟实现,了解 vector 的基本原理,简单实现 vector

2022-08-23 14:56:06 508 25

原创 红黑树插入的实现

前面我们已经实现了搜索二叉树树,知道了其查找规则;实现了AVL树,知道了他的旋转规则;今天这篇红黑树,是解决搜索二叉树退化成单链情况的另一种方法,以插入为重点。

2022-08-19 18:13:48 357 1

原创 进程控制的理解

return 代表代码跑完了,0是进程的退出码,0代表结果运行成功,非零代表运行失败,不同的非零值代表着不同的原因。return 将退出码返回给父进程;

2022-08-18 09:42:15 463 8

原创 进程地址空间的理解

上图所示的这中情况叫做写时拷贝,当进程需要内存空间时,先改变 mm_struct 中控制对应区域的大小--提前调节所需要的内存,相当于先声明在哪个区域,需要多少。因此我们得到的地址是没有改变的虚拟地址,因为进程的独立性,页表也独立,虚拟地址不变,但是各自的页表上虚拟地址对应的物理地址不同。修改后,虚拟地址相同,但是获取到的值不同,那么一定是有两份物理内存来分别存储不同值,只是虚拟地址相同罢了。如果我们这里获取到的是物理地址空间,那么是不可能存在一个相同的地址存储了不同的值。堆开辟空间是由下到上开辟。....

2022-08-17 01:02:25 287 7

原创 进程的一些概念以及环境变量

本篇笔记记录自己理解Linux进程的一些概念作为复习,中间或许与标准存在些许误差,若有不对或者不准确的地方,还望各位铁子评论更正,一起进步呀。

2022-08-15 18:27:55 742 25

原创 进程状态分析

在 Linux 下跑起来的程序就叫做进程;可以和文件对比来理解,我们知道 文件是由文件内容和文件属性组成的,而进程是由自己的属性和对应的文件组成,在操作系统中,进程的数据和属性存在PCB中,在Linux中,PCB等于task_struct;操作系统通过对 task_struct 来管理进程,就相当于在大学,学校通过对我们的数据属性来管理我们一样;进程 = task_struct + 文件(文件属性+文件内容)......

2022-08-12 19:29:56 1018 10

原创 AVL树的插入--旋转笔记

二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。

2022-08-09 00:12:19 652 30

原创 初识git,使用git

对于目前的理解,我们将它当作我们将代码上传到gitee或者GitHub上的工具即可,我们如何使用git将我们在Linux下的代码上传至gitee上呢?这篇小短文带你轻松实现。在上述文件中,存放的是一些文件的后缀,如果某些文件的后缀是黑名单中出现的,那么在添加提交同步时,这些文件会被忽略掉,不会上传。可以将我们写的代码上传到git上,会保存每一次修改的内容,通过git我们可以查看我们不同时间修改的不同版本。...

2022-08-06 21:26:13 324

原创 学会make/makefile基本用法

上述提到了,不是伪目标的话,生成一次目标后,再次调用 make ,是不能再次调用依赖方法,重新生成目标的,因为我们要再次生成的目标根和已经生成的目标是完全相同的,那么makefile是如何识别新旧目标来防止重复生成的呢?在makefile中写好我们要编译的东西,使用 make 命令,会自动执行 makefile 中的内容,减少重复写命令的实践,提高效率。依赖方法的上方是依赖关系,只有依赖关系是达不到我们得到目标文件的目的,还需要依赖方法,相当于。:前面是想要生成的文件,后面是此文件要生成所依赖的源文件。..

2022-08-06 00:27:05 1058 3

原创 map的一道题目<单词识别>

最近学到了map,为了熟悉使用,找到了一道题目来练练手,题目为牛客网上:KY264 单词识别。

2022-08-04 00:14:19 472 28

原创 学会使用set和map的基本接口

上一篇笔记记录了二叉搜索树的实现,这一篇笔记介绍的 set 和 map,底层就是由二叉搜索树实现的,我们来学习他们两个的常用接口。

2022-08-03 10:31:34 306 26

原创 理解实现搜索二叉树

推荐将调用函数封装一层,这样在类外调用时,省去了传参那一步骤,若不封装,直接是public,调用遍历时涉及到传根结点的地址,地址为成员私有,不方便获取。注意,结点属于内置类型,若没有写拷贝构造的话,赋值时,默认是浅拷贝,若显示写了析构函数,会出现野指针的问题,同一个位置被析构两次。c.在它的右子树中寻找最小的结点,用它的值填补到被删除节点中,再来处理该结点的删除问题。非递归插入--之前是保留父节点,cur找到位置后,创建结点与父结点连接。插入结点时,要连接新结点和其父亲结点,那么要注意保留父亲结点。....

2022-07-29 11:03:23 436 3

原创 Linux下gcc和gdb的基本使用

我们知道,一个程序想要跑起来必须经过预处理、编译、汇编、链接这四个过程,将文本转化为计算机能识别的机器语言(二进制),才能生成可执行程序进行运行。

2022-07-26 18:13:14 1046 27

原创 yum和vim须掌握的常用操作

yum在Linux下的主要作用就是软件的管理安装卸载。在我使用的centos7中,不仅有yum安装,还有源码安装和rpm包安装。vim是一个编辑器,只能用来写代码,用它的原因是它是多模式的编辑器,功能强大,下面我们来看看常用的基本操作。rpm包安装安装什么就是什么,其中的很多插件也需要自己去找,也很麻烦。只有yum安装是最简洁方便的,本篇笔记中以记录yum为准。,可以搜索到对应软件,下载相应软件,应用市场会访问相应。源码安装需要用户自己编译,很麻烦。,无法在其中写入文本,这时我们可以。...

2022-07-25 10:52:40 1623 7

原创 c++【认识多态 】

继承中我们了解到了虚拟继承,用virtual修饰继承关系,虚函数也是用virtual来修饰,被virtual修饰的类成员函数称为虚函数。在监视窗口看不到子类中的虚函数test3,但是内存不会骗人,内存的前两个指针存了从基类继承下来的两个虚函数,一个重写了一个未重写;除了这两个,还存了一个监视窗口不存在的地址,虚函数表中只会存储虚函数地址,结合我们子类中的虚函数,这个地址一定是test3无疑。多态中虚函数需要被重写(覆盖)子类中有一个跟基类完全相同的虚函数(即子类虚函数与基类虚函数的。......

2022-07-24 10:50:51 841 33

原创 C++【认识继承】

派生类继承方式基类{public{}protected};{protected};{protected};派生类拥有基类的所有数据。

2022-07-19 23:57:52 534 42

原创 理解权限--拿捏权限

Linux的上一篇文章我们讲到了系统区分文件,是以第一个字符为准:本篇文章我们来看看后面的字符是什么意思,与权限有何关系。首先将后面字符的构成划分一下:用法:chmod 用户 +/- 权限拥有者:u 表示所属组:g 表示其他用户:o 表示也可以对多个所属单位进行权限修改,中间用 "," 相隔:若将多个单位修改成相同的权限: 恢复后: 每一组rwx都可以表示成一个八进制数。有对应权限,则为1,没有对应权限则为0比如:既然每一组的对应权限都可以用一个八进制数来表示,那么三组的对应权限就可以用三个连续的八进制数

2022-07-09 00:39:07 1864 37

原创 初识string+简单用法(二)

这篇文章我们来接着看看string还有哪一些常用的方式:目录insert--指定位置插入插入字符(1)插入字符(2)插入字符串erase--指定位置删除删除字符删除指定字符串 swap--string类型的交换string类中的swap全局函数swapc_str--返回数组指针 find--指定位置查找查找字符查找字符串rfind--从后往前查找substr--取子串getline--获取一行pos为指定位置,n为字符个数,c代表要插入的字符 简单演示一下:指向插入一个字符,不考虑字符个数,那么

2022-06-30 14:40:09 1207 7

原创 初识string+简单用法(一)

目录string是什么:c++98中string常用的构造函数1.构造一个空的类的对象--空字符串2.常量字符串初始化3.拷贝构造初始化 4.指定长度初始化。5.指定字符及其个数初始化6.取已存在对象的子串初始化string的赋值1.对象1=对象22.对象 = 字符串3. 对象 = 字符string对象的遍历方式1.[下标]遍历2.迭代器正向遍历3.迭代器反向遍历4.范围forstring的修改1.下标访问修改2.访问对象中at函数进行修改string引用传参 string对象的容量开辟容量reserve

2022-06-22 11:25:32 3295 30

原创 初识C++模板

1. 函数模板2.类模板

2022-06-05 15:17:17 421 41

原创 Linux指令收尾 + 权限(上)

目录1. zip/unzip指令以压缩目录为例:解压文件unzipzip 的 -r选项unzip 的 -d 选项2. tar 指令 czf 创建压缩文件xzf 为解压压缩文件-v 选项解压时 -C 选项3. bc 指令4. uname 指令-a 选项-r 选项常用热键Tab 建Ctrl + rCtrl + dhistory初识shellLinux权限的概念1. root用户和普通用户su - 切换到超级用户切回普通用户2. 文件权限2.1 Linux下如何区分文件类型...

2022-06-03 21:29:03 1144 28

原创 Linux指令部分(二)初识重定向+管道

目录1. man 指令2. cp指令拷贝文件到当前路径拷贝文件到指定路径拷贝目录在当前路径拷贝目录到指定路径3. mv指令移动文件到指定路径​编辑 移动目录到其他目录中重命名文件重命名目录-i 选项4. cat指令tac 命令-n 选项 5. more 和 less 指令more 指令less 指令6. head 和 tail 指令headtail想要显示出60-65行的内容怎么做? 方法一:临时文件法方法二:管道 “ | ”输出重定向 “ > ”echo 命令 重定向 >输入重定向 “ < ”cat 命令

2022-06-02 18:04:29 668 25

原创 初识C++内存管理

目录1. new 和deletenew 一个对象初始化new 多个对象初始化delete 释放C++内存开辟释放和C中开辟释放有何区别?2. operator new与operator delete函数2.1 operator new和malloc相同点和malloc不同点new底层原理2.2operator delete2.3 operator new与operator delete的类专属重载3.定位new表达式使用格式定位ne...

2022-05-29 20:59:22 1041 30

原创 类与对象(三)

1. 初始化列表以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。样例:class Day{public: Day(int year=2001,int month=4) :_year(year) , _month(month) {}private: int _year; int _month;};功能:是对象成员进行定义的地方,对对象成员进行初始化。构造函数也能完成对对象成员的定义,在定..

2022-05-27 00:52:01 705 20

原创 运算符重载之自定义类型的流提取插入

在我们刚开始学c++时,cin 提取和 cout 插入 ,可以直接识别类型,这个规则是需要我们记住的,方便我们的输入和输出那么他们是怎么实现的呢?为何

2022-05-24 17:17:04 579 25

原创 类与对象(二)续

在《类与对象(二)》中提到了类会生成六个默认成员函数,并且介绍了前四个默认成员函数,本篇来介绍最后两个默认成员函数和const修饰类的成员函数。1. const修饰类的成员函数const修饰类成员函数,实际修饰该成员函数隐含的 this 指针,被修饰的 this 指针中的成员不能再被修改。举例:没有被const修饰的类的成员函数:再来看一个函数:d.Print() 经过编译器处理为 d.Print(&d) , 而函数 func 的形参类型是 const Date

2022-05-23 16:56:54 207 8

原创 日期类的实现

上一篇《类和对象二》中讲到了重载运算符。本篇文章用重载运算符的使用方法,实现日期类,就是写一个简单的日期计算器,精华在于运算符的重载和对已经定义好的符号的复用。我们将声明放在类中,定义放在另一个源文件中,实现声明和定义的分离。目录1. 两个日期相互比较1.1 ‘==’重载声明定义注意1.2 ‘<’重载声明定义1.3 ‘<=’重载声明用复用的定义1.4 ‘>’重载声明定义1.5 ‘>=’重载声明定义1...

2022-05-22 18:42:06 1102 10

原创 Linux指令部分(一)

一、ls指令对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

2022-05-20 21:37:40 240 14

原创 类与对象(二)

在空类中,不是什么都没有的,会默认生成成员函数;本篇文章记录的是在空类中自动生成的六个默认函数成员。以日期类为例:class Date{public: void DateInit(int year, int month, int day) { _year = year; _month = month; _day = day; } void Print() { cout << _year << "-" << _month <

2022-05-19 18:31:33 375 32

原创 类与对象(一)

一、面向过程和面向对象什么是面向过程?要完成一件事,关注的是过程,分析出求解问题的步骤,一步一步按照顺序完成,通过函数调用逐步解决问题。什么是面向对象?完成一件事,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。...

2022-05-15 19:20:38 586 35

原创 C++入门(三)引用,内联,auto+nullptr

一、引用定义引用是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。与之前学过的取地址共用符号:&在类型前加&举例特性1. 引用在定义时必须初始化2. 一个变量可以有多个引用 如举例所示3. 引用一旦引用一个实体,再不能引用其他实体常引用在变量前 或 引用前加 const ,使其变成常量后加引用或变成常引用取别名原则对原引用的变量,权限只能缩小或...

2022-05-12 12:31:43 1009 26

原创 力扣 35 搜索插入位置

做题链接35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com)题目要求题目示例思路

2022-05-08 22:04:44 802 38

原创 c++入门(二)函数重载 --- c和c++中相互调用对方的静态库

函数重载:总结:在c中,链接时,c中的函数名是直接以我们给的函数名确定的而在c++中,函数名的命名规则是_Z + 函数名 +参数类型的首字母(如果是指针类型的参数,前面类型首字母的前面回有P)即使函数名相同的两个函数,只要符合重载条件,在c++中调用不会发生冲突因为函数名命名规则不同,c不支持函数重载。创建一个C的静态库例子:将一个栈封装成一个静态库。将已经写好的栈的声明和定义在VS中打开,此时没有主函数,运行时编译器将项目当成一个可执行文件,进行运行,会报错

2022-05-04 12:08:42 1622 34

原创 C++入门(一)

初识C++

2022-05-02 00:19:32 2759 28

原创 一遍过七大排序+计数排序

常见的算法有:插入类型、选择类型、交换类型和归并类型,细分又可分为以下几种排序思想,这篇文章将带领大家一遍解决这些排序算法,期待我们都能有所收获。一、插入排序

2022-04-28 23:39:52 1692 42

原创 二叉树的层序遍历

二叉树层序遍历:即设根节点所在层数为1,从第一层开始,从上往下,每层从左往右遍历。

2022-04-21 11:25:09 5678 44

组态王创建一分钟数据报表 三相异步电动机

1.建立一个组态软件工程; 2.定义组态软件变量(内存实型变量); 3.组态软件画面设计; 4.组态软件动画连接设计(在主界面显示建立的变量); 5.采用相关命令语言设计一个报表记录系统(每分钟记录一次建立的变量)。 组态王创建一分钟数据报表 三相异步电动机 从工程的建立到结束 一步一图非常详细,自己写的,可以看看 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2023-04-22

空空如也

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

TA关注的人

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