自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程的地址空间

地址空间本质是内核的一个struct结构体,内部有很多的属性都表示栈、堆等[start,end]的范围。

2024-08-16 20:06:30 720

原创 命令行参数和环境变量

export [环境变量名]=[环境变量的内容]当然,这个环境变量也是内存级的,写在bash中的,真想让其生效应该在配置文件改取消环境变量unset [环境变量名]

2024-08-11 18:01:15 683

原创 Linux进程 (冯诺依曼体结构 管理 PCB 进程状态 僵尸进程 孤儿进程 运行阻塞挂起状态 进程优先级)

冯诺依曼体系结构,PCB,僵尸进程,孤儿进程,运行阻塞挂起状态

2024-08-01 15:51:03 712

原创 Linux编译器-gcc/g++使用 make/makefile最基础的功能 Linux调试器-gdb的使用

引例:从零开始写代码,假设设计一个printf函数,设计好了大半个月过去了,效率比较低,所以语言设计者把一些公共的方法抽取出来,放进自己的标准库。提高可移植性,比如直接把二进制代码从这个A机器到B机器,跨平台性提高,不依赖动态库,不用做过多的环境监测。查看静态库的指令(mytest-static是形成test.c静态库的名称,名字随便取)查看画横线的文件,没形成C语言库之前就是C语言的源代码,被顶级程序员打包成库。引例:同样一种软件,有社区版,专业版,免费版。gcc默认形成的可执行程序,默认采用动态链接。

2024-06-21 14:32:40 1905

原创 Linux编辑器 vim使用 (解决普通用户无法进行sudo提权问题)

但是再次进入的时候会发现还是这个界面:是因为这个文件里面可能有别的用户保存的数据,所以vim在自己被删掉或者异常崩溃的时候,他就会默认在当前目录下形成一份临时文件,这个临时文件就是为了方便我们恢复。然后按住j可以批量化选中,也可以按住shift + g = G全部选中,也可以n + j(n为行数)用过VS的都知道,拥有着编辑器编译器调试.编写C+++,C,python等的功能。先ctrl + v ,用hjkl进行选择,然后包含//,按d删了即可。E一下就可以,但是每次进来就会着这种提示,很烦,怎么办?

2024-06-13 12:14:49 769

原创 string类(C++)

以下都是以初学者的角度,有些乱,但层层递进,没有依照C++标准库的顺序。

2024-06-11 21:30:49 691

原创 Linux 软件包管理器 yum

yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构建自己的下载链接,(根据OS版本,根据你要下载的软件),yum帮助我们下载,安装。Linux中的安装包是有依赖关系的(比如下载游戏的时候有各种文件,文件之间的关系)–yum就是解决安装包之间的关系。所以,重点来了:一个系统的开发者,肯定知道为什么大家都选择这个系统,所以才努力维护更好,让大家都选择我。假设一个系统的出现,就只有一个系统,没个讨论,没个官网,有个bug,找谁去?ubuntu,centos等底层用的都是一样的源代码。

2024-06-11 21:20:15 673

原创 Linux权限

vip,门禁就是通过一定的条件,拦住一部分人,给另一部分的人权利,来访问某种资源。

2024-06-07 20:05:21 540

原创 多态(C++)

引例:下面代码会输出多少,在x86的环境下class Basepublic:private:int _b = 1;是12实例化一个对象,通过调试看以下有个指针,叫做虚函数表指针,简称虚表指针(只要有虚函数就有这个)以下面这串代码为例class Basepublic:private:int _b = 1;return 0;通过调试我们可以看出这个东西是用来实现多态的。

2024-05-16 17:06:44 523

原创 继承(C++)

继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用引例:学生老师都有名字年龄,如果分别分装到别的类就显得冗余,就有了继承例子代码:父类成员,继承到派生类以后,访问权限是什么呢?

2024-05-09 21:56:41 814

原创 动态规划C++

题是不断更新的,有些解题思路一样的话是只写代码不写思路的。

2024-05-01 20:40:16 20

原创 vector<vector<int>>与杨辉三角

第一行有1个,第二行有2个,所以用开空间的时候也要如此。

2024-04-15 21:33:27 191 1

原创 模板(C++)

这里类模板不能推演实例化了,只能显示实例化,因为没有传参的问题,所以无法推演类型,只能自己指定,并且str1与str2两个类不是同一个类。答案是完全不一样的,因为浮点型和整型的存储方式都不一样,交换方式肯定不一样。其中typename是关键字,也可以拿class代替,T是名字,取啥都行。下面调用模板的方式不可取:两个类型不同,却用的同一个T类型,有歧义。根据每次交换类型的不同,函数就不同很麻烦,所以祖师爷发明了模板。2.有现成的,但是不够匹配的,有模板,就会选择自己实例化模板。1.有现成,吃现成的(匹配)

2024-03-30 16:59:28 412

原创 new/delete(C++)

new在创建自定义类型时,开空间+构造函数public:,_val(val){}//创建不带哨兵位的//哨兵位,但是是局部变量,出了域会自动销毁printf("一次输入%d个节点的值:", n);i < n;相比较C语言简洁很多,而且不用手动检查,new失败了以后会抛异常int n = 0;while (1)//这里是1024字节 = 1KBn++;

2024-03-28 12:22:00 609

原创 类与对象(C++)

/类体:由成员函数和成员变量组成//这里分号要注意class为类定义的关键字,ClassName为类的名字,{}中为类的主体这里说以下类体的命名习惯:引例:这里初始化赋值的时候year=year不知道哪个是哪个class Dateint year;所以在成员变量前面加个_就更好区分(C++语法里面没有规定,只是个人习惯)class Dateint _year;然后运行的时候你就会发现调用不动函数。

2024-03-16 20:23:07 1605 1

原创 C++入门

命名空间的使用方法有三种:int main()return 0;2.使用using将命名空间中某个成员引入using N::b;3.使用using namespace 命名空间名称 引入int main()return 0;

2024-02-18 17:16:42 1718 1

原创 快速排序三种常见的方法与非递归的形式

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法其基本思想为:任取待排序元素序列中的某元素作为基准值(key),按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值(key),右子序列中所有元素均大于基准值(key),然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。快排时间不够,所以会超出时间限制,知道写没写对即可。

2024-01-18 20:10:58 350 1

原创 直接插入排序和希尔排序

基本思想是:先选定一个整数(设为grap),把待排序文件中所有元素分成grap个组,所有距离为grap的元素分在同一组内,并对每一组内的元素进行排序。然后,再取一个比grap小的整数,重复上述分组和排序的工作。步骤:插入第i个元素的时候,从i-1开始依次向左边比较,直到出现比第i个元素小的停止,假设该元素是第j个,那么第i个元素进行。当grap==1的时候很接近有序,所以直接插入就很快,在下面做了速度对比。代码如下:(技巧:先写一次排序的,然后再写多次排序)画个图:(用相同颜色链接的线就为同一组)

2023-12-24 21:09:36 370 1

原创 Linux操作系统基本文件指令

2023-11-18 16:06:15 74

原创 环形链表找进入环的节点(C语言实现)

原题是这个:(以下都是通过C来实现的)

2023-11-09 22:32:26 55

原创 C语言中多个三目操作符如何运算

我是在这一道题上看到一个解的方案感觉挺有趣:给的解是:运用了三个三目操作符。来让我们回想一下三目操作符:先说结论:?: 从左往右运算?:跟相近的相关。

2023-10-25 20:37:00 602

原创 分支if和switch的应用

如果出现了switch后面的表达值与case都不匹配时,程序不会报错,C语言程序会认为这个不是错误,程序会往下走。当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。每个if()后面的语句都加上了{},这样就会执行{}里面的语句,如果不加上就只能执行一条语句,并且不好辨识。以上都是个人的认知分支的所有思路,后期如果有其它知识点会添加。如果if中的表达式不成立时,会返回0让分支不再执行。可见直接跳出了swith的语句,实现了分支功能。

2023-07-22 11:42:19 43

空空如也

空空如也

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

TA关注的人

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