自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言结构体居然还能这样初始化!

本文适用于对C语言结构体有初步认识的小伙伴查阅,本文主要介绍四种初始化结构体的语法;假设我们现在声明了如下结构体;int a;char b;double c;我们可以在定义时就对结构体进行赋值,如下所示;实际上,结构体定义后,我们还可以对其赋值,从某种角度上将,方法一是初始化,而本种方法才算赋值;s1.a = 1;s1.b = 'c';s1.c = 9.9;这种赋值有点类似面向对象语言中的赋值,类似于C++(可乱序);

2024-03-25 18:59:01 329

原创 QT学习日记 | 显示类控件

本文主要介绍 Qt 为我们提供的一些常见的显示类控件,主要有 QLabel、QLCDNumber、QProgressBar、QCalendarWidget;文本内容属性文本格式属性QLabel中的图片是否自动拉伸对齐方式标签内文本是否自动换行设置文本缩进,水平和垂直方向都生效内部文本与边框的间距是否允许打开一个外部链接给QLabel关联一个伙伴,点击QLabel时会激活对应的伙伴QLCDNumber显示数字的值(int)QLCDNumber显示数字的值(double)显示几位数字数字显示模式设置显示风格。

2024-02-06 18:33:26 1021

原创 QT学习日记 | 按钮类控件

本文主要介绍 Qt 中为我们提供的按钮控件,主要分为三种常见的按钮,QPushButton(普通按钮)、QRadioButton(单选按钮)、QCheckButton(复选按钮);

2024-02-05 14:53:01 876

原创 QT学习日记 | QWidget

获取控件的可用状态;设置控件的可用状态,true为可用,false为不可用;所谓禁用就是控件颜色呈灰色,该控件无法接收任何用户的输入事件,一个控件被禁用,其子类也会被禁用;这个属性也就是设置控件的尺寸,分别有如下属性;空间的横坐标位置控件的纵坐标位置宽度高度以上这四个属性 Qt 提供了一个类进行封装,这个类叫做 QRect;API获取控件尺寸属性,返回结果为 QRect;通过传入QRect 设置控件属性;通过四个属性来设置控件尺寸属性;API获取控件的窗口标题设置控件的窗口标题。

2024-02-05 12:32:21 793

原创 QT学习日记 | 信号与槽

本文主要学习QT最重要的机制之一 —— 信号与槽;从认识信号与槽到熟练掌握、深刻理解信号与槽相关细节;上述案例中,我们使用了内置信号clicked,与自定义槽函数handler,实际上, Qt 也为我们提供了一些内置信号与槽函数,我们可以通过Qt Creator的帮助文档中查询;下面我们以 QpushButton 为例;之前那个关闭窗口,我们是使用内置信号 clicked 与自定义槽函数 handler 来实现的;下面我们再使用 自定义信号与内置槽函数 close 再来实现一次;我们首先再次创建一个新项目。

2024-02-01 19:01:35 1103

原创 QT学习日记 | 初始QT

首先我们需要使用一个QApplication的类,无论是哪个QT程序都需要这个类,我们将命令行参数传递给这个类,接着我们创建一个Widget的类,这个类也就是我们一开始创建的那个类,继承自QWidget,我们通过继承方法show来显示这个控件,同时我们也可以通过hide来隐藏这个控件,最后返回时,我们调用exec方法,这个方法会将程序控制权交给我们的QT,等待用户交互,直至用户想要退出程序后,该函数才会返回;因此,在上述代码中,我们传入this指针,实际上是给我们创建的那个控件指定父控件,形成对象树;

2024-01-28 15:46:26 1370

原创 QT学习日记 | QT的环境搭建

本系列为小编新开的一个系列,主要记录小编学习QT的过程,作为笔记仅供各位参考;Qt是一个跨平台C++图形应用界面框架;简单来说,小编理解成一种图形化界面的编程语言框架;比如我们最常用的剪印就是使用QT来实现的;

2024-01-28 12:45:07 539

原创 protobuf学习日记 | 认识protobuf中的类型

本文为protobuf系列的第二期,本文主要介绍protobuf中的数据类型,初步认识这些数据类型后,在来通过这些类型来不断完善我们通讯录的小项目;

2024-01-18 14:48:45 1360

原创 protobuf学习日记 | 初识protobuf

这是小编新开的一个栏目,为了记录自己在学习ProtoBuf的历程,也希望能帮助大家,本栏目主要以一个通信录小项目的形式来学习protobuf,本文主要浅浅认识一下protobuf是什么?以及我们如何使用protobuf,并没有进阶内容,只是作为一个新手初步了解protobuf的过程;

2024-01-16 18:41:26 865

原创 数据链路层

本文主要讲解数据链路层相关协议,以及数据链路层所承担的主要任务;

2024-01-11 21:19:32 870

原创 网络层详解

前面我们介绍了应用层与传输层相关协议,本文主要讲解网络层相关概念与网络层相关协议;

2024-01-11 19:06:44 997

原创 TCP协议详解

本章主要对TCP协议原理进行层层剖析,从理解报文首部字段到TCP是如何提供传输策略进行一 一详解。

2024-01-03 14:00:55 1047

原创 UDP协议基本原理

本文主要讲解传输层中的UDP协议,我准备从UDP的特点出发,深入理解UDP协议,从UDP协议的结构推出UDP协议的特点;

2023-12-29 12:51:18 429

原创 HTTPS协议详解

本章主要介绍关于HTTPS协议,以及HTTPS协议加密解密整个过程,这也是面试中常考的一个话题,接下来我们一起进入网络的世界吧!所谓数据摘要指的是将数据通过单散列哈希函数生成一串固定长度的字符串,我们称其为数据摘要;特点:唯一性很强,通常不会发生冲突;数据摘要 VS 加密数据摘要是单向的,无法逆向还原原数据;而加密可以通过解密来进行还原原数据;

2023-12-28 16:44:15 1183 2

原创 HTTP协议详解

本文主要带着各位一起了解我们应用层一种重要的协议——HTTP协议;看完本文,你会了解,URL是什么、HTTP协议的报文组成、HTTP协议部分字段、GET与POST方法;

2023-12-27 17:38:04 783

原创 Socket套接字的使用

本文就以 UDP / TCP 这两种网络协议来编写套接字代码;本文主要以套接字的应用为主,关于网络协议的原理我们将在后面的文章进行介绍;这个函数会创建一个网络套接字,若成功创建则返回一个文件描述符,若失败,则返回-1;参数这个参数为我们使用创建套接字的协议,常见参数如下;这个参数即我们创建套接字的类型,常见参数如下;SOCK_DGRAM:无连接,面向数据包,常用于UDPSOCK_STREAM:有连接,面向字节流,常用于TCP协议,这个字段我们填0表示默认即可;

2023-12-27 13:33:14 886

原创 Linux | 多线程

如果你是科班出生,你肯定听过线程相关概念;但是你可能没有真正搞懂什么是线程;在认识线程之前,你得知道什么是进程,进程我们已经前面介绍过了,这里只是简单阐述,进程是操作系统分配资源的基本单位,我们通常将进程相关内核数据结构 + 内存中该程序的代码称作进程,也有好多课本说,进程是程序运行时某一时刻的快照,我们可以理解为进程在运行过程中,其内核数据会不断发生变化的;关于进程相关内核数据,前面我们已经提及,如PCB控制块、页表、进程地址空间、描述当前进程已经打开的文件结构体 files_struct 等;

2023-12-13 20:38:35 177

原创 Linux | 从虚拟地址到物理地址

本章主要讲解虚拟地址是怎么转化成物理地址的,以及页表相关知识;本文环境默认为32位机器下;如果你连什么是虚拟地址都不知道可以先看看下面这篇文章;

2023-11-20 20:32:53 241

原创 Linux | C语言中volatile关键字的理解

本章主要讲解介绍volatile关键的作用与使用场合;深刻理解volatile关键字;本文你需要有信号相关的基础知识;Linux | 信号-CSDN博客。

2023-11-19 14:44:46 424

原创 Linux | 信号

本章主要介绍Linux信号相关内容,主要从信号产生、信号保存、信号处理三个方面详细介绍信号的整个生命周期。在正式介绍信号的产生前,首先我们先认识一个系统调用 --- signal;该系统调用的主要功能是使一个一个信号到来时执行指定的自定义动作;接着我们来看参数;参数一:信号数字(这个参数我们可以通过kill -l 查看,也可以通过man 7号手册查询 signal),这个参数我们可以填大写的宏,也可以直接填数字;这个参数是一个函数指针,为指定信号注册一个函数动作,这个参数就是要执行的自定义动作;

2023-11-19 14:00:53 447

原创 Linux | 进程间通信

进程间通信的方式有很多,如管道、共享内存、消息队列、信号量、socket套接字等等;本文主要讲解其中管道和共享内存两种方式;

2023-11-16 20:14:41 780

原创 Linux | 磁盘文件与动静态库

前面我们介绍了关于内存中的文件,本章主要介绍磁盘文件、软硬连接与动静态库相关知识;

2023-11-07 15:59:15 139

原创 Linux | 文件系统

文件系统是操作系统主题之一,本章就围绕着Linux下的文件系统来介绍文件系统周边知识;

2023-11-02 14:31:17 229

原创 Linux | 程序替换

本文主要记录小编学习程序替换中遇到的一些问题,并分享记录下来,希望可以给大家带来帮助;

2023-10-29 14:13:46 206

原创 Linux | 进程终止与进程等待

我们前面介绍进程时说子进程退出,父进程不对子进程进行资源回收,子进程会进入僵尸状态,对于操作系统来说,这是一种资源泄漏,而且还是操作系统层面的资源泄漏,除非父进程退出,否则子进程将一直处于僵尸状态,本章就介绍父进程如何回收子进程;

2023-10-27 16:59:58 215

原创 关于内存泄漏的经典面试题

对于C/C++程序员来说,或多或少都会被面试官问到关于内存泄漏的问题,内存泄漏是程序的bug,他会一点一点的侵蚀你的内存,导致程序运行一段时间后会莫名崩溃,本文就主要讲解如何不使用工具来查找内存泄漏的问题;

2023-10-26 19:48:04 169

原创 Linux | 进程地址空间

本章节主要介绍关于进程地址空间相关概念,我们从一个实验引出我们的进程地址空间,接着一步一步深入了解进程地址空间,细化周边概念;进程地址空间就是从进程的视角看到的内存空间,实际上,我们会通过一种数据结构记录从虚拟地址到物理地址的映射;

2023-10-26 10:21:28 166 1

原创 Linux | 进程

本文主要讲解进程以相关知识,是小编学习这部分的知识总结,本文以通俗易懂为主旨,提高各位学习系统知识的兴趣,若有错误,恳请及时联系小编;是一个程序对某个数据集的执行过程,是分配资源的基本单位;以上为书本上的概念,如若这么理解进程,我认为有点笼统了,没有特别深刻,接下来我们从操作系统的角度来理解进程;所谓进程优先级是CPU资源分配给进程时的先后顺序,优先级高的进程优先获取CPU资源,反之则落后于其他进程获取CPU资源;环境变量指的是操作系统中,用来指定操作系统运行环境的一些变量;

2023-10-24 15:04:52 179

原创 Linux | 深入浅出冯诺依曼

但凡是科班出生的小伙伴多多稍稍应该都听过冯诺依曼体系吧,这似乎已成为入门计算机的必备知识了,本章就带着大家一起去理解冯诺依曼体系;

2023-10-21 18:21:49 267

原创 Linux | gdb的基本使用

前面我们学习了如何使用gcc/g++来进行对代码进行编译,本章我们将使用gdb来对代码进行调试,学习本章的前提是有一定的调试基础,有在vs等软件上有调试经历的,若无这方面经历,建议先了解一下再来阅读本篇文章;对于新手来说,我们学会上述所有指令即可,上述指令已经可以满足大部分需求,若有其他需求查看文档即可;

2023-10-19 19:11:59 177

原创 Linux | gcc/g++的使用

本章主要带着大家一起学习Linux下编译C/C++的工具,以及关于动静态库的一些基础知识;

2023-10-18 21:34:26 244

原创 Linux | vim的入门手册

关于vim想必大家多多少少有一些了解,不大了解也没关系,本章节就带着大家一起学习vim的基本使用;vim是Linux下的一款编辑器软件,注意,这里说的是编辑器,类似于记事本,我们可以通过vim在Linux系统下进行代码的编辑,这里有些小伙伴就疑惑了,我们难道不能使用vscode等软件吗?是的,我们可以直接使用vscode等软件,且效率也可能更高,但我们有一些情况可能需要纯Linux系统下编辑代码,那是可能就无图形化界面,因此Vim是我们的最好选择了;

2023-10-17 19:57:03 1249 1

原创 Linux | 一篇文章带你深刻理解粘滞位

关于粘滞位的学习,首先你得了解Linux下的权限,当然,文章会稍稍带着复习关键知识点,具体关于权限,请移步Linux权限。

2023-10-17 16:07:38 228

原创 Linux | Linux权限详解

关于文件权限是我们学习Linux的基础知识;本章节就带着大家一起深入了解我们的Linux权限相关问题;

2023-10-17 15:03:09 289 1

原创 Linux | 关于入门Linux你有必要了解的指令

目录前言1、ls指令2、pwd指令3、cd指令4、touch指令5、stat指令6、mkdir指令7、rmdir 与 rm指令8、man指令9、cp指令10、mv指令11、cat指令(1)输入重定向(2)输出重定向与追加重定向12、less指令13、head与tail指令14、find指令15、grep指令16、zip和unzip指令17、tar指令18、uname指令19、常用热键 补充:补充:补充:这里补充三个指令符,分别为输入重定向(<)、输出重定向(>)、追加重定向(>>);

2023-10-15 13:45:11 111

原创 网络基础(了解网络知识的前提)

不要把局域网和广域网的概念扣的太死,距离远是相对的,我们在上述例子中,我们是把两座城市的距离看得很远,但如果我们是以整个地球作为参照物,那两个城市的距离就微乎其微了,所以我们才说局域网和广域网只是一个相对的概念;

2023-09-29 10:02:33 207

原创 C++ | C++11新特性(下)

前面我们介绍了C++11列表初始化、新的类功能以及右值引用等新特性,本文继续介绍关于可变参数模板以及lambda表达式等新语法;

2023-09-28 08:28:27 109

原创 C++ | C++11新特性(上)

本章主要讲解一些关于C++11常用语法;不会将每个语法都介绍一边,将主要语法进行讲解;如果想要了解全部有关C++11语法可以访问下方链接网站;

2023-08-07 18:46:47 188 1

原创 备战秋招 | 笔试强训24

A. 34B. 21C. 16D. 12。

2023-08-05 17:04:24 201

原创 备战秋招 | 笔试强训23

计算字符串的编辑距离

2023-08-05 16:16:50 177

空空如也

空空如也

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

TA关注的人

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