自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】如何查看和获取环境变量四种方法($PATH、env表、environ、getenv)

查看获取环境变量的方法

2024-05-16 19:00:00 289

原创 【Linux】环境变量知识汇总超详解!看这篇就够了

环境变量(environment variables):一般是指在操作系统在开机的时候帮我们维护系统运行时的一些动态参数。如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找在Windows中,打开高级选项–环境变量便可以看到如下但是有没有注意过,你每次配置环境变量,你是往系统变量的Path中加呢?还是用户变量。环境变量的用户变量与系统变量的区别。

2024-05-14 18:45:00 726

原创 【Linux】如何在Linux中配置自己的环境变量?

如何配置环境变量

2024-05-14 16:49:32 427

原创 【Linux】进程优先级

进程优先级

2024-05-13 22:16:13 777

原创 【Linux】环境变量是什么?如何配置?详解

环境变量(environment variables):一般是指在操作系统在开机的时候帮我们维护系统运行时的一些动态参数在Windows中,打开高级选项–环境变量便可以看到如下但是有没有注意过,你每次配置环境变量,你是往系统变量的Path中加呢?还是用户变量。环境变量的用户变量与系统变量的区别我也是刚注意到这个问题哈哈,下面就是环境变量的用户变量与系统变量的区别1、环境变量没有区分大小写,例如path跟PATH是一样的2、系统变量对所有用户有效3、用户变量只对当前用户有效。

2024-05-11 18:04:44 1001

原创 【Linux】为什么有僵尸状态,什么是僵尸进程,造成危害以及如何避免“内存泄漏”问题详解

学校星期五最后一节课大扫除,我们每次打扫完成后,不会立即就回家🏡,而是必须等待老师👱来验收完成后我才能回家。进程完成后,不能立即退出(回家🏡),必须等待父进程(老师👱)来获取子进程的信息后才能彻底释放掉。那这个等待的过程与僵尸状态十分相似。

2024-05-10 19:54:35 799

原创 【Linux】进程的七大状态详解!

就绪状态(Ready):进程已经准备好执行但是还没有被处理器调度执行的状态。运行状态(Running):进程正在被处理器执行的状态。阻塞状态(Blocked):进程因为等待某些事件(如I/O操作完成)而被阻塞的状态。等待状态(Waiting):进程因为等待某些事件(如I/O操作完成、信号等)而被阻塞的状态。暂停状态(Paused):进程被暂停执行,可以自行恢复执行。挂起状态(Suspended):进程被操作系统挂起执行,资源被释放,进程状态被保存到磁盘上。

2024-05-10 16:18:52 1086

原创 linux状态中的T(停止状态)和S(浅度睡眠状态)有什么区别?

这篇博客就探求一下T和S状态之间的区别。

2024-05-10 12:15:00 163

原创 【Linux】深浅睡眠状态超详解!!!

可中断睡眠状态进程因等待某个条件(如 I/O 完成、互斥锁释放或某个事件发生)而无法继续执行。在这种情况下,进程会进入阻塞状态,在阻塞状态下,进程不能继续执行,并且等待某个事件或资源的完成后或者接收到信号,操作系统会自动将其状态转换为运行状态,继续执行接下来的任务。* 我们的bash,也可以算是一种【阻塞状态】,一直等待着我们去输入命令行,一旦有了的话它就进行读取将该进程运行起来我们可以看到其是出于S+的状态,因为【shell】此时正在等待用户的输入,遇到I/O操作。激活自动运行状态。

2024-05-09 22:37:03 295

原创 彻底搞懂大小端存储and调试中内存窗口如何使用?

本文主要讲解大小端存储方式

2024-05-09 16:34:49 437 1

原创 【C++】map和set的基础详解

本篇博客是对C++中的map和set做一个小小的总结,主要是学习之后的知识点,并会不会细节展开太多。后续会慢慢发布更多底层实现模拟等等更深入了解。setset 变量名;其中,类型名可以是 int、double、char、struct,也可以是 STL 容器:vector、set、queue。1.set中只放value,而map必须存放完整的,但set在底层实际存放的还是由构成的键值对。只不过两者相同。2.set中的元素不可以重复(因此可以使用set进行去重)。

2024-05-08 18:59:07 864

原创 【Linux】fork函数详解and写时拷贝再理解

fork函数详解and写时拷贝再理解

2024-04-27 19:39:39 948 1

原创 【Linux】中的进程(PCB)详解及查看方法

可执行程序被加载到内存,加载的是程序的代码和数据,可是操作系统并不认识哪些代码和数据对应哪些进程。所以,操作系统在加载可执行程序形成进程的同时,会创建一个描述该进程的结构体,称为PCB(process control block,进程控制块),linux操作系统下称之为task_struct。操作系统通过PCB中的各种属性信息(状态,优先级,内存指针字段,标识符…),就能够了解到这个进程的属性信息,进而控制进程的运行。此后,操作系统对于进程的管理,就转换成了对于PCB链表的增删查改。

2024-04-27 19:30:00 1647

原创 【Linux】如何进行用户之间的切换——指令su

如何进行用户之间的切换——指令su

2024-04-26 19:00:00 1564 1

原创 【Linux】权限(rwx)及chmod、chown、chgrp修改权限等指令详解!

linux权限(rwx)及chmod、chown、chgrp修改权限等指令详解!

2024-04-26 18:30:00 994

原创 chown命令错误:lhr is not in the sudoers file. This incident will be reported.怎么解决

xxx ALL=(ALL) ALL (这里的xxx是你的用户名)找到这行 root ALL=(ALL) ALL,在他下面添加。1.切换到root用户下,su -3.编辑sudoers文件。

2024-04-26 13:05:50 219

原创 【Liunx】程序的执行过程及gcc/g++的理解

链接(linking)是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储器并执行。

2024-04-25 19:30:00 597

原创 【Linux】GDB调试器学起来!指令全解,建议收藏

gdb指令大全汇总,指令详解

2024-04-25 17:30:47 1136

原创 使用gdb调试遇到No symbol table is loaded. Use the “file“ command.怎么办?

在makefile文件如下进行修改即可。如果是在命令行中执行gcc,就直接跟上【-g】.出现下面问题,通常是没有处于调式模式环境下,所以我们需要在gcc指令后加 【-g】。因为,我么的gcc编辑器默认是动态链接,而且是realese发布版本。主要思路就是在gcc -g。

2024-04-25 16:30:39 257

原创 Debug和Release的区别

在使用VS的时候我们可以直接使用鼠标来进行操作,当前程序以DeBug或者是Release的形式进行运行,那么运行出来的可执行程序版本也是不同的,我们程序员在编写代码后运行一般是使用【DeBug】环境进行运行。因为在企业里写软件项目,将代码写完后程序员自己要做简单的测试,保证代码没有问题当程序员自己测试完没有问题之后,就会将这个可执行程序给到测试人员进行测试,而且会给出自己的单元测试报告。对于测试人员来说所处的模式是【Release】,也就是将来客户要使用的这款软件的发布版本。

2024-04-25 15:09:24 394

原创 【Linux】谈谈shell外壳是什么?

外壳又叫shell,都是一个意思。命令行解释器我们经常使用的Xshell就是一种强大的安全终端模拟软件,用于远程连接Linux服务器,方便用户对Linux服务器上的资源文件进行远程操控;我们购买的Liunx云服务器,就需要使用Xshell这种终端模拟器,通过在命令行输入指令,进行使用。shell有很多种,最常见的是bash它逐渐成为 Linux 系统的标准 Shell), 另外还有sh, csh, tcsh, ksh。它们出现的年代不同,所支持的功能也有差异。

2024-04-24 21:01:59 405

原创 【Linux】什么是yum?--linux中的软件包管理器详解

1.查看系统是否符合程序需求2.查看是否有已安装的版本3.创建/更新程序文件/文件夹4.添加配置数据,如配置文件、windows registry entries(windows注册表条目)、环境变量5.让用户可用,如添加链接、快捷方式、书签6.配置自动运行的组件,如daemons或windows服务7.启动程序8.更新程序。

2024-04-24 20:15:19 815 2

原创 【STL】迭代器iterator详解

迭代器(iterator)是一种可以遍历容器元素的数据类型。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。C++迭代器是一种用于遍历容器中元的对象。它提供了一种统一的访问容器元素的方式,无论容器的类型如何,都可以使用相同的语法进行操作。

2024-04-15 20:25:17 872

原创 【Linux】vim指令大全,收藏这篇就够了

本篇博客讲解vim的各种指令。

2024-04-14 21:00:35 937

原创 vim中如何进行批量注释?取消批量注释?

3.选择完成后,直接按下【shift+i】进入插入模式。1.首先进入vim的命令模式。然后按【ctrl+V】4.最后按【ESC】即可进行批量注释。2.按下【J】,可以向下继续选中。按下【L】可以向右选中一个位置。取消注释又是如何操作的呢?选中后,继续【J】向下选中。直接按【d】,就好了。

2024-04-14 20:55:05 426

原创 【Liunx】一键式配置vim,这一篇就够了配图超丰富!

一、配置个性化vim首先,进入自己的用户中,配置自己的vim时,是不会影响其他用户的。因为有关vim的配置取决于每个用户家目录下的一个配置文件.vimrc接下来就去我的家目录下看看这个隐藏文件【.vimrc】打开它,你会发现空空如也,因为你还什么都没配置呢。二、直接一键配置上面的个性化配置固然很不错!但是这样一个个加真的好麻烦,有没有什么写好的包可以直接下载下来使用呢?答案:有。在gitee上搜索vimforcpp。直接使用大佬写好的配置文件。vimforcpp。

2024-04-14 18:32:49 225

原创 【Liunx】什么是vim?五大模式及转换方法详解

Vim是从vi发展出来的一个文本编辑器。它具有代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和【Emacs】并列成为类Unix系统用户最喜欢的文本编辑器。对于vim来说,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于Windows、MacoOSvim是一款 多模式的编辑器,它有着各种各样的模式。

2024-04-14 18:07:30 1204

原创 【Linux】make是如何判断可执行文件是否需要重新编译呢?(ACM时间)

make是根据【modify时间是否变化】判断可执行文件是否需要重新编译。

2024-04-09 20:43:04 388

原创 【Linux】Makefile中.PHONY伪目标是什么?

🔸.PHONY修饰后的目标文件,它可以被反复执行,每次都会执行它的依赖方法。🔸 .PHONY修饰的一定能被反复执行,但是能被反复执行的不一定被.PHONY修饰。

2024-04-09 19:48:18 405

原创 【Liunx】什么是make和makefile?

Makefile是一个文件。它是一个工程文件的编译规则,它记录了原始码如何编译的详细信息、描述了整个工程的编译链接等规则。Makefile带来的好处就是自动化编译。一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。target(目标文件):文件1 文件2(依赖文件列表) //依赖关系gcc -o 欲建立的执行文件 目标文件1 目标文件2 ///依赖方法command......目标文件依赖文件依赖方法📆。

2024-04-09 18:51:02 919

原创 liunx下如何对文件重命名(rename)

liunx下如何对文件重命名。使用renaem即可对文件进行重命名,这也是最方便快捷的一种了。等指令进行重命名操作。但是 最好的方法是使用。

2024-04-09 17:22:40 126

原创 【刷题训练】349. 两个数组的交集(set的使用)

注意if else语句使用。

2024-04-08 20:09:42 200

原创 【刷题训练】LeetCode387.字符串中的第一个唯一字符

1.遍历一便字符串,并将每一个字符-‘a’得到的就是0~25的数值,把它放入大小为26的数组中,每放一次,对应数组内容+1。这样每个字符出现的次数就被统计下来了。2.在根据字符串的序列遍历一遍数组,遇到值为1的就输出这个字符。这个字符就是第一个唯一出现的字符。输入: s = “loveleetcode”输入: s = “leetcode”输入: s = “aabb”

2024-04-08 20:04:47 258

原创 【C++】为什么vector的地址与首元素地址不同?

比如如果使用动态开辟函数就是涉及到堆区,看到指针就知道指针存在栈区,static静态就存在全局区(静态区),字符串常量就存储在代码段。还记得我们在以前学习C语言数组时讲过&数组名取得就是这个数组元素的首地址,以为就是说取数组名等于取首元素地址。当你创建一个 vector 对象时,会在栈区上分配一个存储 vector 元数据的对象(例如,指向堆区数组的指针和数组的大小)。&vector和&vector[0]得到的两个地址居然不相同,对数组array取变量名地址和取首元素地址的结果是相同的。

2024-03-20 23:39:47 523

原创 【刷题训练】牛客:JZ31 栈的压入、弹出序列

栈的压入、弹出序列

2024-03-17 00:25:18 236 1

原创 如何在Linux上使用git远程上传至gitee托管(add-commit-push指令详解)

如何在Liunx上使用git远程上传,git add commit push 指令详解

2024-03-15 16:02:01 843

原创 【刷题训练】LeetCode:557. 反转字符串中的单词 III

反转字符串中单词

2024-03-14 19:05:50 283

原创 【刷题训练】反转字符串i 和 ii(区间部分翻转)

反转字符串

2024-03-14 18:22:22 324

原创 【刷题训练】LeetCode125. 验证回文串

验证回文串

2024-03-14 17:33:26 316

原创 【刷题训练】Leetcode415.字符串相加

字符串相加

2024-03-14 16:37:13 251

空空如也

空空如也

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

TA关注的人

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