自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Qt】常用控件 & Q widget的enabled属性,geometry属性

Q widget的geometry属性,enabled属性,window frame

2024-07-20 17:06:14 899

原创 【Qt】信号与槽

信号与槽(Signal & Slot)是 Qt 编程的基础,也是 Qt 的一大创新。因为有了信号与槽的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。信号(Signal)就是在特定情况下被发射的事件,例如PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号。发射信号使用Qt的emit关键字。定义信号使用QT的signals关键字。槽(Slot)就是对信号响应的函数。

2024-07-16 23:28:25 827

原创 【Qt】认识Qt界面&Hello world小程序

简述qt界面

2024-07-01 21:16:06 1157

原创 【Qt】初识Qt&Qt Creator

Qt 是⼀个 跨平台的 C++ 图形⽤⼾界⾯应⽤程序框架。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的,很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应⽤程序,同时也可以使⽤ C++ 语⾔进⾏⾼级开发。图形用户界⾯ :指采⽤图形⽅式显⽰的计算机操作⽤⼾界⾯,是计算机与其使⽤者之间的对话接⼝,是计算机系统的重要组成部分。框架:是可被应用开发者定制的应用骨架。约束程序员编程。程序员配合框架,完善填充框架中留出的细节即可。

2024-06-26 17:35:38 1160

原创 【Linux】进程间通信

管道是Unix中最古老的进程间通信的形式,我们把从一个进程连接到另一个进程的数据流称为一个“管道”。eg:统计我们当前使用云服务器上的登录用户个数。其中,who命令和wc命令都是两个程序,当它们运行起来后就变成了两个进程,who进程通过标准输出将数据打到“管道”当中,wc进程再通过标准输入从“管道”当中读取数据,至此便完成了数据的传输,进而完成数据的进一步加工处理。who命令用于查看当前云服务器的登录用户(一行显示一个用户),wc -l用于统计当前的行数。

2024-06-21 12:54:41 820

原创 【Linux】磁盘结构&&文件系统&&软硬链接&&动静态库

静态库 (.a):程序在编译链接的时候把库的代码链接 (拷贝) 到可执行文件中,程序运行的时候将不再需要静态库。动态库 (.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。

2024-05-30 16:54:08 1130

原创 【Linux】文件操作&文件描述符&重定向

文件管理:我们知道,文件操作本质上是进程与被打开文件之间的关系,同时,一个进程可以打开多个文件,且操作系统同时运行着许多个进程;那么操作系统中就一定存在着大量被打开的文件,那这些被打开的文件要不要被操作系统管理起来呢?答案是肯定的。如何管理呢?和 计算机软硬件体系结构 中总结的一样 – 再描述,在组织,即将文件的所有属性都总结到一个结构体中,并为每一个文件都创建一个结构体对象,再用一种数据结构将这些结构体对象组织起来,这样对众多被打开文件的管理就变成了对某一种数据结构的增删查改;

2024-05-18 13:06:16 896

原创 实现一个简易的shell

而当我们使用 PWD 指令来查看当前路径时,cd 指令对应的子进程已经执行完毕退出了,此时 myshell 又会给 PWD 创建一个新的子进程,且这个子进程的工作目录和父进程 myshell 相同,所以 PWD 打印出来的路径不变。shell 可以通过进程等待的方式获取上一个子进程的退出状态,然后将其保存在?变量中的内容,然后将?myshell 是通过创建子进程的方式去执行命令行中的各种指令的,也就是说,cd 命令是由子进程去执行的,那么自然被改变也是子进程的工作目录,父进程的工作目录不受影响;

2024-04-21 11:35:54 539 1

原创 【Linux】进程控制

进程的创建,等待,程序替换

2024-04-18 18:05:20 640

原创 【Linux】进程地址空间

我们以前在学习 C/C++ 的动态内存管理的时候,通常把地址空间划分为如下几个区域:但是我们上面的地址空间是真正的物理空间吗?while(1)printf("子进程已经修改了全局变量...........................\n");cnt++;

2024-04-12 16:19:59 914

原创 【Linux】环境变量

Linux 中的各种指令本质上是 /usr/bin/ 目录下的一个个可执行程序,和我们自己编写的可执行程序没有任何区别;但是我们发现,执行我们自己的程序时需要指定路径,但是执行Linux中的各种指令却不需要指定路径:这是因为系统中存在PATH环境变量,PATH中存放着这些指令的地址;当我们使用这些指令时,系统会自动去PATH中寻找,如果找到了就执行,找不到就报错 – “command not found”。

2024-04-11 11:37:55 1094 1

原创 【Linux】进程状态&优先级

上面我们提到一个进程的资源在被全部释放之前,需要由父进程或者操作系统来读取退出状态代码,而如果父进程不读取子进程的退出状态代码,该进程的PCB就一直得不到释放,此时该进程就会变成僵尸进程。

2024-04-09 09:29:19 860

原创 【Linux】进程&fork函数

进程与fork函数

2024-04-01 12:32:22 545

原创 【Linux】简述gdb

GDB是一个由GUN开源组织发布的,UNIX/LINUX操作系统下的,基于命令行的程序调试工具。release版本和debug版本区别在Debug:Debug 通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供 强大的应用程序调试能力。Release:Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

2024-03-21 11:33:52 754 1

原创 【Linux】计算机之冯诺依曼体系 & 操作系统小结

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成运算器、控制器、存储器输入设备输出设备),这套理论被称为冯·诺依曼体系结构。2.结构概述图:注:内存是硬件,相当于一个巨大的缓存。一款进行软硬件资源管理的软件,在开机时第一个加载。

2024-03-18 20:10:50 773

原创 【Linux】简述git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。将被管理的内容,按照变化来进行管理的软件。(最终目的:无论需要哪个变化的版本,都能找到并提供给用户)特点:(1)是一个软件,既是客户端又是服务(2)只会记录变化的软件(3)分布式软件,去中心化github/gitee 是基于git软件搭建的网站 ---- 让版本管理可视化。

2024-03-15 18:16:13 334 1

原创 【Linux】程序翻译及自动化构建代码小记

在Golang的自举过程中,我们需要一个已经使用其他语言(如C语言)编写的初始版本的Golang编译器,然后使用该初始版本编译和生成另一个版本的编译器。1.3.2.静态库: 是c/c++或者其他第三方提供的所有方法的集合,被所有的程序以拷贝的方式,将需要的代码,拷贝到自己的可执行程序中。1.3.1.动态库: 是c/c++或者其他第三方提供的所有方法的集合,被所有的程序以链接的方式关联起来。它发生在编译阶段的最后。第二/n次时,队员文件做任何修改的时候,都会导致 源文件的修改时间>bin文件的修改时间。

2024-03-15 15:33:05 820 1

原创 【Linux】简述vim

1.命令模式:此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。在命令模式下按下 :(英文冒号)就进入了底线命令模式。i -- 切换到输入模式,在光标当前位置开始输入文本。a -- 进入插入模式,在光标下一个位置开始输入文本。O -- 在当前行的上方插入一个新行,并进入插入模式。: -- 切换到底线命令模式,以在最底一行输入命令。-- 强制退出Vim 编辑器,不保存修改。o:在当前行的下方插入一个新行,并进入插入模式。

2024-02-29 21:15:31 382

原创 Linux

最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。(2)八进制表示:三个权限~三位二进制数~一位八进制数~一个类型的文件访问者的权限。对目录,有修改目录内文件的权限。对文件,有执行文件的权限;

2024-02-26 16:47:02 348

原创 常见位运算

规则:一个二进制操作数,对应位为0,结果位为1;规则:两个操作数对应二进制位同样为1 结果位 才为1,否则为0;规则:两个操作数对应二进制位同样为0结果位 才为0,否则为1;2.给一个数n,确定他的二进制表示中的第x位是0还是1。左边空出来的位用0或1填补,正数用0负数用1填补。3.将一个数n的二进制表示的第x位修改成1。4.将一个数n的二进制表示的第x位修改成0。步骤: ~(1<<x)& n。(3)非(~,按位取反)步骤:(1<<x)| n。步骤:(n>>x)&1。步骤:n&(n-1)

2023-10-11 17:42:11 36

原创 Vector

b是short类型,占2个字节,接下来我们要看结构体对齐规则,b的有效对齐值为min{2, 8}=2. 依次查看2的整数倍地址是否可以存放俩个字节.2×0=0 //此地址处已经存放a. 2×1=2 //此地址为空,我们将占有俩个字节的b存放在地址偏移量为2和3处.指定对齐数(有宏 #pragma pack(N) 指定的值,这里面的 N一定是2的幂次方.如1,2,4,8,16等.如果没有通过宏那么在32位Linux主机上默认指定对齐值为4,64位的默认对齐值为8,AMR CPU默认指定对齐值为8)

2023-09-26 13:47:04 24

原创 力扣66题-加一

分析:函数有三个参数,分别用来传数组,传数组长度以及返回数组的长度(returnSize的类型为int*是因为传址才能在函数中改变该变量的值)函数返回类型为int*,题目要求返回malloc开辟的数组。由于可能存在数组最高位进位,位数增加的情况,所以在创建数组时提前扩大一个int型,并且将数组后移一位,让tmp[0]作为最高位,并将其置为0。3.通过tmp[0]的值来判断最高位是否发生进位,若仍为0,则未发生进位,数字长度未变,将数组前移一位,return;若tmp[i]不为0,说明不进位,则结束循环;

2023-05-11 08:43:04 39 1

原创 我的第一篇博客

现在是2022年12月2日23:24,我写下了我的第一篇博客。

2022-12-03 00:43:00 53 4

空空如也

空空如也

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

TA关注的人

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