自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LINUX】Minishell的简单实现

首先我们要知道shell是什么--------命令行解释器--捕捉用户的输入,执行对应的指令程序。

2023-04-05 20:33:58 275 1

原创 一文了解LINUX进程程序替换及6种替换函数的使用

用fork创建子进程后执行的是和父进程相同的程序但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时该进程的用户空间代码和数据完全被新程序替换从新程序的启动例程开始执行。调用exec并不创建新进程所以调用exec前后该进程的id并未改变。

2023-04-05 19:18:09 511 1

原创 一文了解进程等待

首先我们需要知道为什么要进行进程等待:之前讲过,子进程退出,父进程如果不管不顾,就可能造成僵尸进程的问题,进而造成内存泄漏。另外,进程一旦变成僵尸状态,那就刀枪不入,杀人不眨眼的kill -9也无能为力,因为谁也没有办法杀死一个已经死去的进程。最后,父进程派给子进程的任务完成的如何,我们需要知道。子进程运行完成,结果对还是不对,或者是否正常退出。父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息。

2023-04-05 16:42:52 224 1

原创 C/C++内存管理【超详细详解】

关于C/C++内存管理近万字超详细说明

2023-04-02 19:26:04 552

原创 一文了解LINUX程序地址空间

每一个进程在启动的时候,都会让操作系统给它创建(虚拟)一个地址空间,该地址空间就是进程地址空间。每一个进程都会由一个自己的进程地址空间。操作系统需要管理这些进程地址空间,依旧是先描述,再组织。所谓的进程地址空间,其实是内核的一个数据结构(struct mm_struct)光有虚拟地址空间不行,还得有一个东西可以辅助程序可以通过虚拟地址空间找到物理地址中的数据:因此造作系统不仅仅给程序虚拟了一个地址空间,还构造了一个页表(页表中记录了虚拟地址和物理地址之间的映射关系)

2023-04-02 13:20:47 240

原创 一文详解LINUX环境变量

如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但 是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。前面我们说过,子进程每次运行的pid都是在变化的,因为子进程每一次运行都是一次重启,但其父进程是不会变得,因为父进程是bash,是系统创建的命令解释器。其实我们设置环境变量是在全局中的,也可以说是设置在父进程bash里面的,而我们运行./env程序就是bash的一个子程序,因为。2. export: 设置一个新的环境变量[重点]

2023-04-02 12:13:48 247

原创 进程概念【Linux】 【进程基本概念】【PCB-进程控制块】【查看进程】【fork初始】【进程状态】【僵尸进程及其危害】【孤儿进程】

进程运行在操作系统上叫运行,在Linux内核叫运行状态R。进程终止在操作系统上叫终止,在Linux内核叫僵尸状态Z和死亡状态X。进程阻塞在操作系统上叫阻塞,在Linux内核叫浅度睡眠状态S和深度睡眠状态D。进程挂起在操作系统上叫挂起,在Linux内核叫S、D、T。

2023-03-31 21:28:54 1479 1

原创 C++类与对象(下篇)【explicit关键字】【static成员】【友元函数及友元类】【内部类】

没必要,因为编译器会根据你定义成员变量的顺序,当走到自定义类型成员时自动调用其默认构造函数,如若你在初始化列表里对自定义类型初始化了,那么编译器会拿这个值作为形参传到其自定义类型的默认构造函数,继而输出的值为初始化列表里的值。Date类里想访问我Time类里的私有成员,就让我Date变成你Time的友元类,相反我Time类里想访问Date类里的成员,就让我Time变成Date类的友元类,谁想访问谁,就要把谁设为谁的友元。注意此时这个内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去调用内部类。

2023-03-31 16:15:42 58

原创 Git三板斧【Linxu环境】

Git是一个开源的分布式版本控制系统,可以有效高速地处理从很小到很大的项目版本管理。是为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。

2023-03-24 14:32:36 160

空空如也

空空如也

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

TA关注的人

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